Bob is quiet. Dave is cold. Dave is green. Dave is red. Dave is white. Dave is young. Erin is cold. Erin is young. Gary is white. Gary is young. All cold people are white. All red, cold people are quiet. If someone is round and quiet then they are green. If Erin is round then Erin is red. Round people are white. If Dave is white and Dave is young then Dave is cold. If someone is white then they are round. If Dave is green then Dave is quiet.
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
All cold people are white.
((("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
All red, cold people are quiet.
((("someone" "is" "red" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
If someone is round and quiet then they are green.
((("someone" "is" "round" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "green" "+"))
If Erin is round then Erin is red.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "red" "+"))
Round people are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If Dave is white and Dave is young then Dave is cold.
((("Dave" "is" "white" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "cold" "+"))
If someone is white then they are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If Dave is green then Dave is quiet.
((("Dave" "is" "green" "+")) -> ("Dave" "is" "quiet" "+"))
Dave is white.
True
1
proof
[(triple5 OR ((triple2) -> rule1))]
("Dave" "is" "white" "+")
triple5
((triple2) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Erin is not cold.
False
1
inv-proof
[(triple7)]
("Erin" "is" "cold" "-")
triple7
Dave is quiet.
True
2
proof
[(((triple3) -> rule8) OR ((triple4 triple2) -> rule2) OR ((triple4 ((triple5 triple6) -> rule6)) -> rule2))]
("Dave" "is" "quiet" "+")
((triple3) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple4 triple2) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple4 ((triple5 triple6) -> (rule6 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is not round.
False
2
inv-proof
[(((triple5) -> rule7) OR ((((triple2) -> rule1)) -> rule7))]
("Dave" "is" "round" "-")
((triple5) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Erin is round.
True
3
proof
[(((((triple7) -> rule1)) -> rule7))]
("Erin" "is" "round" "+")
((((triple7) -> (rule1 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is not round.
False
3
inv-proof
[(((((triple7) -> rule1)) -> rule7))]
("Erin" "is" "round" "-")
((((triple7) -> (rule1 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
True
4
proof
[(((((((triple7) -> rule1)) -> rule7)) -> rule4))]
("Erin" "is" "red" "+")
((((((triple7) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is not red.
False
4
inv-proof
[(((((((triple7) -> rule1)) -> rule7)) -> rule4))]
("Erin" "is" "red" "-")
((((((triple7) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is quiet.
True
6
proof
[(((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2))]
("Erin" "is" "quiet" "+")
((((((((triple7) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is not quiet.
False
6
inv-proof
[(((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2))]
("Erin" "is" "quiet" "-")
((((((((triple7) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is green.
True
10
proof
[(((((((triple7) -> rule1)) -> rule7) ((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2)) -> rule3))]
("Erin" "is" "green" "+")
((((((triple7) -> (rule1 % int5))) -> (rule7 % int4)) ((((((((triple7) -> (rule1 % int5))) -> (rule7 % int4))) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Erin is not green.
False
10
inv-proof
[(((((((triple7) -> rule1)) -> rule7) ((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2)) -> rule3))]
("Erin" "is" "green" "-")
((((((triple7) -> (rule1 % int5))) -> (rule7 % int4)) ((((((((triple7) -> (rule1 % int5))) -> (rule7 % int4))) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Bob is not green.
Unknown
inv-rconc
[@3: Bob is green.[CWA. Example of deepest failure = (rule3 <- rule7 <- rule1 <- FAIL)]]
("Bob" "is" "green" "-")
Bob is white.
Unknown
rconc
[@3: Bob is white.[CWA. Example of deepest failure = (rule5 <- rule7 <- rule1 <- FAIL)]]
("Bob" "is" "white" "+")
Bob is not round.
Unknown
inv-rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule7 <- rule1 <- FAIL)]]
("Bob" "is" "round" "-")
Gary is quiet.
Unknown
rconc
[@1: Gary is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "quiet" "+")
Gary is not green.
Unknown
inv-rconc
[@2: Gary is green.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Gary" "is" "green" "-")
Gary is cold.
Unknown
random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Bob is quiet.[(triple1)] Dave is cold.[(triple2 OR ((triple5 triple6) -> rule6))] Dave is green.[(triple3 OR ((((triple5) -> rule7) ((triple4 triple2) -> rule2)) -> rule3) OR ((((triple5) -> rule7) ((triple4 ((triple5 triple6) -> rule6)) -> rule2)) -> rule3) OR ((((((triple2) -> rule1)) -> rule7) ((triple4 triple2) -> rule2)) -> rule3) OR ((((((triple2) -> rule1)) -> rule7) ((triple4 ((triple5 triple6) -> rule6)) -> rule2)) -> rule3))] Dave is red.[(triple4)] Dave is white.[(triple5 OR ((triple2) -> rule1))] Dave is young.[(triple6)] Erin is cold.[(triple7)] Erin is young.[(triple8)] Gary is white.[(triple9)] Gary is young.[(triple10)] @1: Dave is quiet.[(((triple3) -> rule8) OR ((triple4 triple2) -> rule2) OR ((triple4 ((triple5 triple6) -> rule6)) -> rule2))] Dave is round.[(((triple5) -> rule7) OR ((((triple2) -> rule1)) -> rule7))] Erin is white.[(((triple7) -> rule1))] Gary is round.[(((triple9) -> rule7))] @2: Erin is round.[(((((triple7) -> rule1)) -> rule7))] @3: Erin is red.[(((((((triple7) -> rule1)) -> rule7)) -> rule4))] @4: Erin is quiet.[(((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2))] @5: Erin is green.[(((((((triple7) -> rule1)) -> rule7) ((((((((triple7) -> rule1)) -> rule7)) -> rule4) triple7) -> rule2)) -> rule3))]
Bob is quiet.
("Bob" "is" "quiet" "+")
triple1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
((triple5 triple6) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple3
((((triple5) -> (rule7 % int3)) ((triple4 triple2) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((triple5) -> (rule7 % int4)) ((triple4 ((triple5 triple6) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((triple2) -> (rule1 % int4))) -> (rule7 % int3)) ((triple4 triple2) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
((((((triple2) -> (rule1 % int5))) -> (rule7 % int4)) ((triple4 ((triple5 triple6) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is white.
("Dave" "is" "white" "+")
int5
Dave is red.
("Dave" "is" "red" "+")
triple4
Dave is white.
("Dave" "is" "white" "+")
triple5
((triple2) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
Erin is young.
("Erin" "is" "young" "+")
triple8
Gary is white.
("Gary" "is" "white" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple3) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple4 triple2) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple4 ((triple5 triple6) -> (rule6 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((triple5) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((triple7) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple9) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
((((triple7) -> (rule1 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
((((((triple7) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((((((((triple7) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is green.
("Erin" "is" "green" "+")
((((((triple7) -> (rule1 % int5))) -> (rule7 % int4)) ((((((((triple7) -> (rule1 % int5))) -> (rule7 % int4))) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5