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