Charlie is green. Charlie is quiet. Charlie is round. Dave is big. Gary is kind. Gary is quiet. Harry is big. Harry is blue. Harry is furry. Harry is round. All furry things are quiet. If something is green and quiet then it is kind. All furry things are big. If something is furry then it is blue. Green, quiet things are furry. Kind things are furry. Round things are quiet. If something is blue and furry then it is green.
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is round.
("Harry" "is" "round" "+")
All furry things are quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
If something is green and quiet then it is kind.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
All furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
If something is furry then it is blue.
((("something" "is" "furry" "+")) -> ("something" "is" "blue" "+"))
Green, quiet things are furry.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
Kind things are furry.
((("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
Round things are quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
If something is blue and furry then it is green.
((("something" "is" "blue" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
Harry is big.
True
1
proof
[(triple7 OR ((triple9) -> rule3))]
("Harry" "is" "big" "+")
triple7
((triple9) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is not furry.
False
1
inv-proof
[(triple9)]
("Harry" "is" "furry" "-")
triple9
Charlie is furry.
True
3
proof
[(((triple1 triple2) -> rule5) OR ((((triple1 triple2) -> rule2)) -> rule6) OR ((triple1 ((triple3) -> rule7)) -> rule5) OR ((((triple1 ((triple3) -> rule7)) -> rule2)) -> rule6))]
("Charlie" "is" "furry" "+")
((triple1 triple2) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple1 ((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple1 ((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Harry is not quiet.
False
2
inv-proof
[(((triple10) -> rule7) OR ((triple9) -> rule1))]
("Harry" "is" "quiet" "-")
((triple10) -> (rule7 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple9) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Dave is not quiet.
Unknown
inv-rconc
[@4: Dave is quiet.[CWA. Example of deepest failure = (rule1 <- rule6 <- rule2 <- rule7 <- FAIL)]]
("Dave" "is" "quiet" "-")
Dave is kind.
Unknown
rconc
[@3: Dave is kind.[CWA. Example of deepest failure = (rule2 <- rule8 <- rule5 <- FAIL)]]
("Dave" "is" "kind" "+")
Gary is not round.
Unknown
inv-random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Charlie is green.[(triple1)] Charlie is quiet.[(triple2 OR ((triple3) -> rule7))] Charlie is round.[(triple3)] Dave is big.[(triple4)] Gary is kind.[(triple5)] Gary is quiet.[(triple6 OR ((((triple5) -> rule6)) -> rule1))] Harry is big.[(triple7 OR ((triple9) -> rule3))] Harry is blue.[(triple8 OR ((triple9) -> rule4))] Harry is furry.[(triple9)] Harry is round.[(triple10)] @1: Charlie is furry.[(((triple1 triple2) -> rule5) OR ((((triple1 triple2) -> rule2)) -> rule6) OR ((triple1 ((triple3) -> rule7)) -> rule5) OR ((((triple1 ((triple3) -> rule7)) -> rule2)) -> rule6))] Charlie is kind.[(((triple1 triple2) -> rule2) OR ((triple1 ((triple3) -> rule7)) -> rule2))] Gary is furry.[(((triple5) -> rule6))] Harry is green.[(((triple8 triple9) -> rule8) OR ((((triple9) -> rule4) triple9) -> rule8))] Harry is quiet.[(((triple10) -> rule7) OR ((triple9) -> rule1))] @2: Charlie is big.[(((((triple1 triple2) -> rule5)) -> rule3) OR ((((((triple1 triple2) -> rule2)) -> rule6)) -> rule3) OR ((((triple1 ((triple3) -> rule7)) -> rule5)) -> rule3) OR ((((((triple1 ((triple3) -> rule7)) -> rule2)) -> rule6)) -> rule3))] Charlie is blue.[(((((triple1 triple2) -> rule5)) -> rule4) OR ((((((triple1 triple2) -> rule2)) -> rule6)) -> rule4) OR ((((triple1 ((triple3) -> rule7)) -> rule5)) -> rule4) OR ((((((triple1 ((triple3) -> rule7)) -> rule2)) -> rule6)) -> rule4))] Gary is big.[(((((triple5) -> rule6)) -> rule3))] Gary is blue.[(((((triple5) -> rule6)) -> rule4))] Harry is kind.[(((((triple8 triple9) -> rule8) ((triple10) -> rule7)) -> rule2) OR ((((triple8 triple9) -> rule8) ((triple9) -> rule1)) -> rule2) OR ((((((triple9) -> rule4) triple9) -> rule8) ((triple10) -> rule7)) -> rule2) OR ((((((triple9) -> rule4) triple9) -> rule8) ((triple9) -> rule1)) -> rule2))] @3: Gary is green.[(((((((triple5) -> rule6)) -> rule4) ((triple5) -> rule6)) -> rule8))]
Charlie is green.
("Charlie" "is" "green" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
((triple3) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
Gary is kind.
("Gary" "is" "kind" "+")
triple5
Gary is quiet.
("Gary" "is" "quiet" "+")
triple6
((((triple5) -> (rule6 % int2))) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple7
((triple9) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
triple8
((triple9) -> (rule4 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple9
Harry is round.
("Harry" "is" "round" "+")
triple10
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1 triple2) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple1 ((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple1 ((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1 triple2) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple1 ((triple3) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple5) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple8 triple9) -> (rule8 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple9) -> (rule4 % int2)) triple9) -> (rule8 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple10) -> (rule7 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple9) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple1 triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple1 ((triple3) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((((triple1 ((triple3) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple1 triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((triple1 ((triple3) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((((triple1 ((triple3) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
((((triple5) -> (rule6 % int2))) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((triple5) -> (rule6 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
((((triple8 triple9) -> (rule8 % int3)) ((triple10) -> (rule7 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((triple8 triple9) -> (rule8 % int3)) ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((((triple9) -> (rule4 % int4)) triple9) -> (rule8 % int3)) ((triple10) -> (rule7 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
((((((triple9) -> (rule4 % int4)) triple9) -> (rule8 % int3)) ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
((((((triple5) -> (rule6 % int3))) -> (rule4 % int2)) ((triple5) -> (rule6 % int3))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3