Anne is blue. Anne is furry. Anne is rough. Anne is white. Anne is young. Bob is quiet. Bob is rough. Bob is young. Erin is quiet. Gary is big. Gary is young. Furry, big things are rough. All furry things are big. All blue, quiet things are young. White things are furry. Furry, big things are blue. If something is big then it is blue. All quiet things are white.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is young.
("Gary" "is" "young" "+")
Furry, big things are rough.
((("something" "is" "furry" "+") ("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
All furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
All blue, quiet things are young.
((("something" "is" "blue" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "young" "+"))
White things are furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Furry, big things are blue.
((("something" "is" "furry" "+") ("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If something is big then it is blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
All quiet things are white.
((("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
Gary is young.
True
1
proof
[(triple11)]
("Gary" "is" "young" "+")
triple11
Anne is not young.
False
1
inv-proof
[(triple5)]
("Anne" "is" "young" "-")
triple5
Anne is big.
True
2
proof
[(((triple2) -> rule2) OR ((((triple4) -> rule4)) -> rule2))]
("Anne" "is" "big" "+")
((triple2) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Erin is not white.
False
2
inv-proof
[(((triple9) -> rule7))]
("Erin" "is" "white" "-")
((triple9) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Bob is furry.
True
3
proof
[(((((triple6) -> rule7)) -> rule4))]
("Bob" "is" "furry" "+")
((((triple6) -> (rule7 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Erin is not furry.
False
3
inv-proof
[(((((triple9) -> rule7)) -> rule4))]
("Erin" "is" "furry" "-")
((((triple9) -> (rule7 % int2))) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Bob is big.
True
4
proof
[(((((((triple6) -> rule7)) -> rule4)) -> rule2))]
("Bob" "is" "big" "+")
((((((triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Erin is not big.
False
4
inv-proof
[(((((((triple9) -> rule7)) -> rule4)) -> rule2))]
("Erin" "is" "big" "-")
((((((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is rough.
True
8
proof
[(((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule1))]
("Erin" "is" "rough" "+")
((((((triple9) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple9) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Bob is not blue.
False
5
inv-proof
[(((((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule6) OR ((((((triple6) -> rule7)) -> rule4) ((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule5))]
("Bob" "is" "blue" "-")
((((((((triple6) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
((((((triple6) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple6) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Erin is young.
True
7
proof
[(((((((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule6) triple9) -> rule3) OR ((((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule5) triple9) -> rule3))]
("Erin" "is" "young" "+")
((((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4)) ((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Erin is not young.
False
7
inv-proof
[(((((((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule6) triple9) -> rule3) OR ((((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule5) triple9) -> rule3))]
("Erin" "is" "young" "-")
((((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4)) ((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Gary is not white.
Unknown
inv-rconc
[@1: Gary is white.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "white" "-")
Gary is furry.
Unknown
rconc
[@2: Gary is furry.[CWA. Example of deepest failure = (rule4 <- rule7 <- FAIL)]]
("Gary" "is" "furry" "+")
Gary is not rough.
Unknown
inv-rconc
[@3: Gary is rough.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule7 <- FAIL)]]
("Gary" "is" "rough" "-")
Anne is quiet.
Unknown
random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "+")
@0: Anne is blue.[(triple1 OR ((((triple2) -> rule2)) -> rule6) OR ((triple2 ((triple2) -> rule2)) -> rule5) OR ((((triple4) -> rule4) ((triple2) -> rule2)) -> rule5) OR ((((((triple4) -> rule4)) -> rule2)) -> rule6) OR ((triple2 ((((triple4) -> rule4)) -> rule2)) -> rule5) OR ((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule2)) -> rule5))] Anne is furry.[(triple2 OR ((triple4) -> rule4))] Anne is rough.[(triple3 OR ((triple2 ((triple2) -> rule2)) -> rule1) OR ((((triple4) -> rule4) ((triple2) -> rule2)) -> rule1) OR ((triple2 ((((triple4) -> rule4)) -> rule2)) -> rule1) OR ((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule2)) -> rule1))] Anne is white.[(triple4)] Anne is young.[(triple5)] Bob is quiet.[(triple6)] Bob is rough.[(triple7 OR ((((((triple6) -> rule7)) -> rule4) ((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule1))] Bob is young.[(triple8 OR ((((((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule6) triple6) -> rule3) OR ((((((((triple6) -> rule7)) -> rule4) ((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule5) triple6) -> rule3))] Erin is quiet.[(triple9)] Gary is big.[(triple10)] Gary is young.[(triple11)] @1: Anne is big.[(((triple2) -> rule2) OR ((((triple4) -> rule4)) -> rule2))] Bob is white.[(((triple6) -> rule7))] Erin is white.[(((triple9) -> rule7))] Gary is blue.[(((triple10) -> rule6))] @2: Bob is furry.[(((((triple6) -> rule7)) -> rule4))] Erin is furry.[(((((triple9) -> rule7)) -> rule4))] @3: Bob is big.[(((((((triple6) -> rule7)) -> rule4)) -> rule2))] Erin is big.[(((((((triple9) -> rule7)) -> rule4)) -> rule2))] @4: Bob is blue.[(((((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule6) OR ((((((triple6) -> rule7)) -> rule4) ((((((triple6) -> rule7)) -> rule4)) -> rule2)) -> rule5))] Erin is blue.[(((((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule6) OR ((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule5))] Erin is rough.[(((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule1))] @5: Erin is young.[(((((((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule6) triple9) -> rule3) OR ((((((((triple9) -> rule7)) -> rule4) ((((((triple9) -> rule7)) -> rule4)) -> rule2)) -> rule5) triple9) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((((triple2) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((triple2 ((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple4) -> (rule4 % int3)) ((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((triple2 ((((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple4) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple2 ((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple4) -> (rule4 % int3)) ((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((triple2 ((((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
triple4
Anne is young.
("Anne" "is" "young" "+")
triple5
Bob is quiet.
("Bob" "is" "quiet" "+")
triple6
Bob is rough.
("Bob" "is" "rough" "+")
triple7
((((((triple6) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple6) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
triple8
((((((((((triple6) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule6 % int2)) triple6) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is white.
("Bob" "is" "white" "+")
int5
((((((((triple6) -> (rule7 % int5))) -> (rule4 % int4)) ((((((triple6) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple6) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is white.
("Bob" "is" "white" "+")
int5
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
Gary is young.
("Gary" "is" "young" "+")
triple11
Anne is big.
("Anne" "is" "big" "+")
((triple2) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple4) -> (rule4 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
((triple6) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple9) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple10) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((((triple6) -> (rule7 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((triple9) -> (rule7 % int2))) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
((((((triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((((((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
((((((((triple6) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
((((((triple6) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple6) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
((((((((triple9) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
((((((triple9) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple9) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
((((((triple9) -> (rule7 % int4))) -> (rule4 % int3)) ((((((triple9) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
((((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
((((((((triple9) -> (rule7 % int5))) -> (rule4 % int4)) ((((((triple9) -> (rule7 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple9) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5