Bob is furry. Dave is quiet. Dave is red. Erin is furry. Erin is green. Gary is green. Gary is quiet. All quiet, red things are big. All big, furry things are cold. Big, green things are red. Quiet things are furry. If Erin is green and Erin is cold then Erin is red. All green, red things are quiet. If Bob is green and Bob is cold then Bob is red. If something is big and cold then it is white. All green things are cold.
Bob is furry.
("Bob" "is" "furry" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
All quiet, red things are big.
((("something" "is" "quiet" "+") ("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
All big, furry things are cold.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "cold" "+"))
Big, green things are red.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
Quiet things are furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If Erin is green and Erin is cold then Erin is red.
((("Erin" "is" "green" "+") ("Erin" "is" "cold" "+")) -> ("Erin" "is" "red" "+"))
All green, red things are quiet.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If Bob is green and Bob is cold then Bob is red.
((("Bob" "is" "green" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "red" "+"))
If something is big and cold then it is white.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
All green things are cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
Erin is furry.
True
1
proof
[(triple4 OR ((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6)) -> rule4))]
("Erin" "is" "furry" "+")
triple4
((((triple5 ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Gary is not green.
False
1
inv-proof
[(triple6)]
("Gary" "is" "green" "-")
triple6
Dave is big.
True
3
proof
[(((triple2 triple3) -> rule1))]
("Dave" "is" "big" "+")
((triple2 triple3) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Erin is not cold.
False
2
inv-proof
[(((triple5) -> rule9))]
("Erin" "is" "cold" "-")
((triple5) -> (rule9 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is red.
True
4
proof
[(((triple5 ((triple5) -> rule9)) -> rule5))]
("Erin" "is" "red" "+")
((triple5 ((triple5) -> (rule9 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is not red.
False
4
inv-proof
[(((triple5 ((triple5) -> rule9)) -> rule5))]
("Erin" "is" "red" "-")
((triple5 ((triple5) -> (rule9 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
True
6
proof
[(((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6))]
("Erin" "is" "quiet" "+")
((triple5 ((triple5 ((triple5) -> (rule9 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is not quiet.
False
6
inv-proof
[(((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6))]
("Erin" "is" "quiet" "-")
((triple5 ((triple5 ((triple5) -> (rule9 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is big.
True
11
proof
[(((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1))]
("Erin" "is" "big" "+")
((((triple5 ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule6 % int2)) ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is not big.
False
11
inv-proof
[(((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1))]
("Erin" "is" "big" "-")
((((triple5 ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule6 % int2)) ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is white.
True
14
proof
[(((((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1) ((triple5) -> rule9)) -> rule8))]
("Erin" "is" "white" "+")
((((((triple5 ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule6 % int3)) ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule1 % int2)) ((triple5) -> (rule9 % int5))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
int5
Erin is not white.
False
14
inv-proof
[(((((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1) ((triple5) -> rule9)) -> rule8))]
("Erin" "is" "white" "-")
((((((triple5 ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule6 % int3)) ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule1 % int2)) ((triple5) -> (rule9 % int5))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
int5
Gary is not big.
Unknown
inv-rconc
[@2: Gary is big.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Gary" "is" "big" "-")
Bob is big.
Unknown
rconc
[@2: Bob is big.[CWA. Example of deepest failure = (rule1 <- rule6 <- FAIL)]]
("Bob" "is" "big" "+")
Gary is not red.
Unknown
inv-rconc
[@2: Gary is red.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Gary" "is" "red" "-")
Bob is red.
Unknown
rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not white.
Unknown
inv-rconc
[@3: Bob is white.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule6 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is cold.
Unknown
rconc
[@3: Bob is cold.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule6 <- FAIL)]]
("Bob" "is" "cold" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is furry.[(triple1)] Dave is quiet.[(triple2)] Dave is red.[(triple3)] Erin is furry.[(triple4 OR ((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6)) -> rule4))] Erin is green.[(triple5)] Gary is green.[(triple6)] Gary is quiet.[(triple7)] @1: Dave is big.[(((triple2 triple3) -> rule1))] Dave is furry.[(((triple2) -> rule4))] Erin is cold.[(((triple5) -> rule9))] Gary is cold.[(((triple6) -> rule9))] Gary is furry.[(((triple7) -> rule4))] @2: Dave is cold.[(((((triple2 triple3) -> rule1) ((triple2) -> rule4)) -> rule2))] Erin is red.[(((triple5 ((triple5) -> rule9)) -> rule5))] @3: Dave is white.[(((((triple2 triple3) -> rule1) ((((triple2 triple3) -> rule1) ((triple2) -> rule4)) -> rule2)) -> rule8))] Erin is quiet.[(((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6))] @4: Erin is big.[(((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1))] @5: Erin is white.[(((((((triple5 ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule6) ((triple5 ((triple5) -> rule9)) -> rule5)) -> rule1) ((triple5) -> rule9)) -> rule8))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple2
Dave is red.
("Dave" "is" "red" "+")
triple3
Erin is furry.
("Erin" "is" "furry" "+")
triple4
((((triple5 ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is green.
("Erin" "is" "green" "+")
triple5
Gary is green.
("Gary" "is" "green" "+")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Dave is big.
("Dave" "is" "big" "+")
((triple2 triple3) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple2) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple5) -> (rule9 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple6) -> (rule9 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple7) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((((triple2 triple3) -> (rule1 % int3)) ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
((triple5 ((triple5) -> (rule9 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
((((triple2 triple3) -> (rule1 % int4)) ((((triple2 triple3) -> (rule1 % int4)) ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple5 ((triple5 ((triple5) -> (rule9 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((((triple5 ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule6 % int2)) ((triple5 ((triple5) -> (rule9 % int4))) -> (rule5 % int3))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
((((((triple5 ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule6 % int3)) ((triple5 ((triple5) -> (rule9 % int5))) -> (rule5 % int4))) -> (rule1 % int2)) ((triple5) -> (rule9 % int5))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
int5