Anne is furry. Anne is kind. Anne is nice. Anne is quiet. Anne is round. Bob is furry. Bob is nice. Bob is quiet. Charlie is big. Charlie is kind. Charlie is quiet. Harry is big. Harry is furry. Harry is nice. Harry is quiet. Harry is white. If something is big and kind then it is round. If something is white and quiet then it is nice. Furry, quiet things are big. If something is furry then it is round. If something is kind and nice then it is furry. If something is kind then it is white. All kind things are round. If something is nice and big then it is round.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is white.
("Harry" "is" "white" "+")
If something is big and kind then it is round.
((("something" "is" "big" "+") ("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
If something is white and quiet then it is nice.
((("something" "is" "white" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
Furry, quiet things are big.
((("something" "is" "furry" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
If something is furry then it is round.
((("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
If something is kind and nice then it is furry.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is kind then it is white.
((("something" "is" "kind" "+")) -> ("something" "is" "white" "+"))
All kind things are round.
((("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
If something is nice and big then it is round.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
Harry is white.
True
1
proof
[(triple16)]
("Harry" "is" "white" "+")
triple16
Bob is not furry.
False
1
inv-proof
[(triple6)]
("Bob" "is" "furry" "-")
triple6
Harry is round.
True
2
proof
[(((triple13) -> rule4) OR ((triple14 triple12) -> rule8) OR ((triple14 ((triple13 triple15) -> rule3)) -> rule8) OR ((((triple16 triple15) -> rule2) triple12) -> rule8) OR ((((triple16 triple15) -> rule2) ((triple13 triple15) -> rule3)) -> rule8))]
("Harry" "is" "round" "+")
((triple13) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple14 triple12) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple14 ((triple13 triple15) -> (rule3 % int2))) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple16 triple15) -> (rule2 % int2)) triple12) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple16 triple15) -> (rule2 % int3)) ((triple13 triple15) -> (rule3 % int2))) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Anne is not white.
False
2
inv-proof
[(((triple2) -> rule6))]
("Anne" "is" "white" "-")
((triple2) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is nice.
True
4
proof
[(((((triple10) -> rule6) triple11) -> rule2))]
("Charlie" "is" "nice" "+")
((((triple10) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is not nice.
False
4
inv-proof
[(((((triple10) -> rule6) triple11) -> rule2))]
("Charlie" "is" "nice" "-")
((((triple10) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is furry.
True
6
proof
[(((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5))]
("Charlie" "is" "furry" "+")
((triple10 ((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is not furry.
False
6
inv-proof
[(((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5))]
("Charlie" "is" "furry" "-")
((triple10 ((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Bob is not white.
Unknown
inv-rconc
[@1: Bob is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Anne is furry.[(triple1 OR ((triple2 triple3) -> rule5) OR ((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5))] Anne is kind.[(triple2)] Anne is nice.[(triple3 OR ((((triple2) -> rule6) triple4) -> rule2))] Anne is quiet.[(triple4)] Anne is round.[(triple5 OR ((triple1) -> rule4) OR ((triple2) -> rule7) OR ((((triple2 triple3) -> rule5)) -> rule4) OR ((triple3 ((triple1 triple4) -> rule3)) -> rule8) OR ((((triple1 triple4) -> rule3) triple2) -> rule1) OR ((triple3 ((((triple2 triple3) -> rule5) triple4) -> rule3)) -> rule8) OR ((((((triple2 triple3) -> rule5) triple4) -> rule3) triple2) -> rule1) OR ((((((triple2) -> rule6) triple4) -> rule2) ((triple1 triple4) -> rule3)) -> rule8) OR ((((((triple2) -> rule6) triple4) -> rule2) ((((triple2 triple3) -> rule5) triple4) -> rule3)) -> rule8) OR ((((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5)) -> rule4) OR ((triple3 ((((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5) triple4) -> rule3)) -> rule8) OR ((((((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5) triple4) -> rule3) triple2) -> rule1) OR ((((((triple2) -> rule6) triple4) -> rule2) ((((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5) triple4) -> rule3)) -> rule8))] Bob is furry.[(triple6)] Bob is nice.[(triple7)] Bob is quiet.[(triple8)] Charlie is big.[(triple9 OR ((((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5) triple11) -> rule3))] Charlie is kind.[(triple10)] Charlie is quiet.[(triple11)] Harry is big.[(triple12 OR ((triple13 triple15) -> rule3))] Harry is furry.[(triple13)] Harry is nice.[(triple14 OR ((triple16 triple15) -> rule2))] Harry is quiet.[(triple15)] Harry is white.[(triple16)] @1: Anne is big.[(((triple1 triple4) -> rule3) OR ((((triple2 triple3) -> rule5) triple4) -> rule3) OR ((((triple2 ((((triple2) -> rule6) triple4) -> rule2)) -> rule5) triple4) -> rule3))] Anne is white.[(((triple2) -> rule6))] Bob is big.[(((triple6 triple8) -> rule3))] Bob is round.[(((triple6) -> rule4) OR ((triple7 ((triple6 triple8) -> rule3)) -> rule8))] Charlie is round.[(((triple10) -> rule7) OR ((triple9 triple10) -> rule1) OR ((((((triple10) -> rule6) triple11) -> rule2) triple9) -> rule8) OR ((((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5)) -> rule4) OR ((((((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5) triple11) -> rule3) triple10) -> rule1) OR ((((((triple10) -> rule6) triple11) -> rule2) ((((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5) triple11) -> rule3)) -> rule8))] Charlie is white.[(((triple10) -> rule6))] Harry is round.[(((triple13) -> rule4) OR ((triple14 triple12) -> rule8) OR ((triple14 ((triple13 triple15) -> rule3)) -> rule8) OR ((((triple16 triple15) -> rule2) triple12) -> rule8) OR ((((triple16 triple15) -> rule2) ((triple13 triple15) -> rule3)) -> rule8))] @2: Charlie is nice.[(((((triple10) -> rule6) triple11) -> rule2))] @3: Charlie is furry.[(((triple10 ((((triple10) -> rule6) triple11) -> rule2)) -> rule5))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
((triple2 triple3) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple2 ((((triple2) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple3
((((triple2) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Anne is round.
("Anne" "is" "round" "+")
triple5
((triple1) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple2) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple2 triple3) -> (rule5 % int2))) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((triple3 ((triple1 triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple1 triple4) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((triple3 ((((triple2 triple3) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple2 triple3) -> (rule5 % int3)) triple4) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple2) -> (rule6 % int4)) triple4) -> (rule2 % int3)) ((triple1 triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((((((triple2) -> (rule6 % int5)) triple4) -> (rule2 % int4)) ((((triple2 triple3) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
int5
((((triple2 ((((triple2) -> (rule6 % int4)) triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
((triple3 ((((triple2 ((((triple2) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
int5
((((((triple2 ((((triple2) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
int5
((((((triple2) -> (rule6 % int5)) triple4) -> (rule2 % int4)) ((((triple2 ((((triple2) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
int5
Bob is furry.
("Bob" "is" "furry" "+")
triple6
Bob is nice.
("Bob" "is" "nice" "+")
triple7
Bob is quiet.
("Bob" "is" "quiet" "+")
triple8
Charlie is big.
("Charlie" "is" "big" "+")
triple9
((((triple10 ((((triple10) -> (rule6 % int4)) triple11) -> (rule2 % int3))) -> (rule5 % int2)) triple11) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
triple10
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple11
Harry is big.
("Harry" "is" "big" "+")
triple12
((triple13 triple15) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple13
Harry is nice.
("Harry" "is" "nice" "+")
triple14
((triple16 triple15) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
triple15
Harry is white.
("Harry" "is" "white" "+")
triple16
Anne is big.
("Anne" "is" "big" "+")
((triple1 triple4) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple2 triple3) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple2 ((((triple2) -> (rule6 % int4)) triple4) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
((triple2) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple6 triple8) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple6) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple7 ((triple6 triple8) -> (rule3 % int2))) -> (rule8 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
((triple10) -> (rule7 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple9 triple10) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2)) triple9) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
((((triple10 ((((triple10) -> (rule6 % int4)) triple11) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
((((((triple10 ((((triple10) -> (rule6 % int5)) triple11) -> (rule2 % int4))) -> (rule5 % int3)) triple11) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5
((((((triple10) -> (rule6 % int5)) triple11) -> (rule2 % int4)) ((((triple10 ((((triple10) -> (rule6 % int5)) triple11) -> (rule2 % int4))) -> (rule5 % int3)) triple11) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5
Charlie is white.
("Charlie" "is" "white" "+")
((triple10) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple13) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple14 triple12) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple14 ((triple13 triple15) -> (rule3 % int2))) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple16 triple15) -> (rule2 % int2)) triple12) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple16 triple15) -> (rule2 % int3)) ((triple13 triple15) -> (rule3 % int2))) -> (rule8 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((((triple10) -> (rule6 % int2)) triple11) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple10 ((((triple10) -> (rule6 % int3)) triple11) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3