Anne is green. Bob is blue. Bob is white. Dave is blue. Erin is blue. Erin is furry. Erin is white. All white, green people are nice. If someone is big then they are blue. All blue people are kind. All green, blue people are big. All green, white people are kind. All kind, blue people are furry. All kind, furry people are green. If someone is furry then they are big.
Anne is green.
("Anne" "is" "green" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is white.
("Erin" "is" "white" "+")
All white, green people are nice.
((("someone" "is" "white" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
If someone is big then they are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
All blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
All green, blue people are big.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
All green, white people are kind.
((("someone" "is" "green" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
All kind, blue people are furry.
((("someone" "is" "kind" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All kind, furry people are green.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
If someone is furry then they are big.
((("someone" "is" "furry" "+")) -> ("someone" "is" "big" "+"))
Anne is green.
True
1
proof
[(triple1)]
("Anne" "is" "green" "+")
triple1
Erin is not white.
False
1
inv-proof
[(triple7)]
("Erin" "is" "white" "-")
triple7
Dave is kind.
True
2
proof
[(((triple4) -> rule3))]
("Dave" "is" "kind" "+")
((triple4) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple4) -> rule3))]
("Dave" "is" "kind" "-")
((triple4) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
True
4
proof
[(((((triple4) -> rule3) triple4) -> rule6))]
("Dave" "is" "furry" "+")
((((triple4) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Bob is not furry.
False
4
inv-proof
[(((((triple2) -> rule3) triple2) -> rule6))]
("Bob" "is" "furry" "-")
((((triple2) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is green.
True
7
proof
[(((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule7))]
("Bob" "is" "green" "+")
((((triple2) -> (rule3 % int3)) ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Dave is not big.
False
5
inv-proof
[(((((((triple4) -> rule3) triple4) -> rule6)) -> rule8) OR ((((((triple4) -> rule3) ((((triple4) -> rule3) triple4) -> rule6)) -> rule7) triple4) -> rule4))]
("Dave" "is" "big" "-")
((((((triple4) -> (rule3 % int3)) triple4) -> (rule6 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((((triple4) -> (rule3 % int4)) ((((triple4) -> (rule3 % int4)) triple4) -> (rule6 % int3))) -> (rule7 % int2)) triple4) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Anne is not nice.
Unknown
inv-rconc
[@1: Anne is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "nice" "-")
Anne is kind.
Unknown
rconc
[@4: Anne is kind.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule8 <- rule6 <- FAIL)]]
("Anne" "is" "kind" "+")
Dave is not nice.
Unknown
inv-rconc
[@1: Dave is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "nice" "-")
Anne is big.
Unknown
rconc
[@4: Anne is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- rule8 <- rule6 <- FAIL)]]
("Anne" "is" "big" "+")
Dave is not white.
Unknown
inv-random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is green.[(triple1)] Bob is blue.[(triple2)] Bob is white.[(triple3)] Dave is blue.[(triple4)] Erin is blue.[(triple5 OR ((((triple6) -> rule8)) -> rule2))] Erin is furry.[(triple6 OR ((((triple5) -> rule3) triple5) -> rule6))] Erin is white.[(triple7)] @1: Bob is kind.[(((triple2) -> rule3))] Dave is kind.[(((triple4) -> rule3))] Erin is big.[(((triple6) -> rule8) OR ((((((triple5) -> rule3) triple5) -> rule6)) -> rule8) OR ((((((triple5) -> rule3) triple6) -> rule7) triple5) -> rule4) OR ((((((triple5) -> rule3) ((((triple5) -> rule3) triple5) -> rule6)) -> rule7) triple5) -> rule4))] Erin is kind.[(((triple5) -> rule3) OR ((((((triple6) -> rule8)) -> rule2)) -> rule3))] @2: Bob is furry.[(((((triple2) -> rule3) triple2) -> rule6))] Dave is furry.[(((((triple4) -> rule3) triple4) -> rule6))] Erin is green.[(((((triple5) -> rule3) triple6) -> rule7) OR ((((triple5) -> rule3) ((((triple5) -> rule3) triple5) -> rule6)) -> rule7) OR ((((((((triple6) -> rule8)) -> rule2)) -> rule3) triple6) -> rule7) OR ((((((((triple6) -> rule8)) -> rule2)) -> rule3) ((((triple5) -> rule3) triple5) -> rule6)) -> rule7))] @3: Bob is big.[(((((((triple2) -> rule3) triple2) -> rule6)) -> rule8) OR ((((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule7) triple2) -> rule4))] Bob is green.[(((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule7))] Dave is big.[(((((((triple4) -> rule3) triple4) -> rule6)) -> rule8) OR ((((((triple4) -> rule3) ((((triple4) -> rule3) triple4) -> rule6)) -> rule7) triple4) -> rule4))] Dave is green.[(((((triple4) -> rule3) ((((triple4) -> rule3) triple4) -> rule6)) -> rule7))] Erin is nice.[(((triple7 ((((triple5) -> rule3) triple6) -> rule7)) -> rule1) OR ((triple7 ((((triple5) -> rule3) ((((triple5) -> rule3) triple5) -> rule6)) -> rule7)) -> rule1) OR ((triple7 ((((((((triple6) -> rule8)) -> rule2)) -> rule3) triple6) -> rule7)) -> rule1) OR ((triple7 ((((((((triple6) -> rule8)) -> rule2)) -> rule3) ((((triple5) -> rule3) triple5) -> rule6)) -> rule7)) -> rule1))] @4: Bob is nice.[(((triple3 ((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule7)) -> rule1))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((((triple6) -> (rule8 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple6
((((triple5) -> (rule3 % int2)) triple5) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple7
Bob is kind.
("Bob" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple4) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple6) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((((triple5) -> (rule3 % int3)) triple5) -> (rule6 % int2))) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple5) -> (rule3 % int3)) triple6) -> (rule7 % int2)) triple5) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple5) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4)) triple5) -> (rule6 % int3))) -> (rule7 % int2)) triple5) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
((triple5) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((((triple6) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((((triple2) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple4) -> (rule3 % int2)) triple4) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((((triple5) -> (rule3 % int2)) triple6) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3)) triple5) -> (rule6 % int2))) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((((triple6) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple6) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
((((((((triple6) -> (rule8 % int5))) -> (rule2 % int4))) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3)) triple5) -> (rule6 % int2))) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Bob is big.
("Bob" "is" "big" "+")
((((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple2) -> (rule3 % int4)) ((((triple2) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule7 % int2)) triple2) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
((((triple2) -> (rule3 % int3)) ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
((((((triple4) -> (rule3 % int3)) triple4) -> (rule6 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((((triple4) -> (rule3 % int4)) ((((triple4) -> (rule3 % int4)) triple4) -> (rule6 % int3))) -> (rule7 % int2)) triple4) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
((((triple4) -> (rule3 % int3)) ((((triple4) -> (rule3 % int3)) triple4) -> (rule6 % int2))) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
((triple7 ((((triple5) -> (rule3 % int3)) triple6) -> (rule7 % int2))) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((triple7 ((((triple5) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4)) triple5) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((triple7 ((((((((triple6) -> (rule8 % int5))) -> (rule2 % int4))) -> (rule3 % int3)) triple6) -> (rule7 % int2))) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
((triple7 ((((((((triple6) -> (rule8 % int6))) -> (rule2 % int5))) -> (rule3 % int4)) ((((triple5) -> (rule3 % int4)) triple5) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5
Erin is big.
("Erin" "is" "big" "+")
int6
Bob is nice.
("Bob" "is" "nice" "+")
((triple3 ((((triple2) -> (rule3 % int4)) ((((triple2) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4