Anne is big. Anne is kind. Anne is quiet. Anne is rough. Charlie is big. Charlie is furry. Charlie is kind. Charlie is red. Dave is not big. Dave is kind. Dave is quiet. Dave is rough. Dave is young. Erin is quiet. Erin is red. Erin is young. Furry, young things are kind. Big, quiet things are red. If something is quiet and red then it is furry. If something is kind then it is quiet. Furry things are big. If something is quiet and young then it is rough.
Anne is big.
("Anne" "is" "big" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Dave is not big.
("Dave" "is" "big" "-")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is young.
("Erin" "is" "young" "+")
Furry, young things are kind.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Big, quiet things are red.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
If something is quiet and red then it is furry.
((("something" "is" "quiet" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If something is kind then it is quiet.
((("something" "is" "kind" "+")) -> ("something" "is" "quiet" "+"))
Furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
If something is quiet and young then it is rough.
((("something" "is" "quiet" "+") ("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
Dave is quiet.
True
1
proof
[(triple11 OR ((triple10) -> rule4))]
("Dave" "is" "quiet" "+")
triple11
((triple10) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not kind.
False
1
inv-proof
[(triple10)]
("Dave" "is" "kind" "-")
triple10
Anne is red.
True
3
proof
[(((triple1 triple3) -> rule2) OR ((triple1 ((triple2) -> rule4)) -> rule2))]
("Anne" "is" "red" "+")
((triple1 triple3) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple1 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Erin is not rough.
False
3
inv-proof
[(((triple14 triple16) -> rule6))]
("Erin" "is" "rough" "-")
((triple14 triple16) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Anne is furry.
True
5
proof
[(((triple3 ((triple1 triple3) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 triple3) -> rule2)) -> rule3) OR ((triple3 ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3))]
("Anne" "is" "furry" "+")
((triple3 ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple2) -> (rule4 % int3)) ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple3 ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple2) -> (rule4 % int3)) ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is not furry.
False
5
inv-proof
[(((triple3 ((triple1 triple3) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 triple3) -> rule2)) -> rule3) OR ((triple3 ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3))]
("Anne" "is" "furry" "-")
((triple3 ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple2) -> (rule4 % int3)) ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple3 ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple2) -> (rule4 % int3)) ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Dave is not red.
Unknown
inv-rconc
[@1: Dave is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "red" "-")
Dave is furry.
Unknown
rconc
[@2: Dave is furry.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Dave" "is" "furry" "+")
Charlie is not rough.
Unknown
inv-rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "rough" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Anne is big.[(triple1)] Anne is kind.[(triple2)] Anne is quiet.[(triple3 OR ((triple2) -> rule4))] Anne is rough.[(triple4)] Charlie is big.[(triple5 OR ((triple6) -> rule5) OR ((((((triple7) -> rule4) triple8) -> rule3)) -> rule5))] Charlie is furry.[(triple6 OR ((((triple7) -> rule4) triple8) -> rule3) OR ((((triple7) -> rule4) ((triple5 ((triple7) -> rule4)) -> rule2)) -> rule3))] Charlie is kind.[(triple7)] Charlie is red.[(triple8 OR ((triple5 ((triple7) -> rule4)) -> rule2) OR ((((triple6) -> rule5) ((triple7) -> rule4)) -> rule2))] Dave is kind.[(triple10)] Dave is not big.[(triple9)] Dave is quiet.[(triple11 OR ((triple10) -> rule4))] Dave is rough.[(triple12 OR ((triple11 triple13) -> rule6) OR ((((triple10) -> rule4) triple13) -> rule6))] Dave is young.[(triple13)] Erin is quiet.[(triple14)] Erin is red.[(triple15)] Erin is young.[(triple16)] @1: Anne is red.[(((triple1 triple3) -> rule2) OR ((triple1 ((triple2) -> rule4)) -> rule2))] Charlie is quiet.[(((triple7) -> rule4))] Erin is furry.[(((triple14 triple15) -> rule3))] Erin is rough.[(((triple14 triple16) -> rule6))] @2: Anne is furry.[(((triple3 ((triple1 triple3) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 triple3) -> rule2)) -> rule3) OR ((triple3 ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3) OR ((((triple2) -> rule4) ((triple1 ((triple2) -> rule4)) -> rule2)) -> rule3))] Erin is big.[(((((triple14 triple15) -> rule3)) -> rule5))] Erin is kind.[(((((triple14 triple15) -> rule3) triple16) -> rule1))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
((triple2) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple4
Charlie is big.
("Charlie" "is" "big" "+")
triple5
((triple6) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((((triple7) -> (rule4 % int3)) triple8) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
((((triple7) -> (rule4 % int2)) triple8) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple7) -> (rule4 % int3)) ((triple5 ((triple7) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple7
Charlie is red.
("Charlie" "is" "red" "+")
triple8
((triple5 ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple6) -> (rule5 % int3)) ((triple7) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
triple10
Dave is not big.
("Dave" "is" "big" "-")
triple9
Dave is quiet.
("Dave" "is" "quiet" "+")
triple11
((triple10) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
triple12
((triple11 triple13) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple10) -> (rule4 % int2)) triple13) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
triple13
Erin is quiet.
("Erin" "is" "quiet" "+")
triple14
Erin is red.
("Erin" "is" "red" "+")
triple15
Erin is young.
("Erin" "is" "young" "+")
triple16
Anne is red.
("Anne" "is" "red" "+")
((triple1 triple3) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple1 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple7) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple14 triple15) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple14 triple16) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple3 ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple2) -> (rule4 % int3)) ((triple1 triple3) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((triple3 ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
((((triple2) -> (rule4 % int3)) ((triple1 ((triple2) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((((triple14 triple15) -> (rule3 % int2))) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
((((triple14 triple15) -> (rule3 % int2)) triple16) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2