Charlie is big. Charlie is green. Charlie is kind. Charlie is quiet. Charlie is red. Charlie is round. Gary is blue. Blue things are quiet. If Gary is red then Gary is blue. If something is quiet then it is green. If something is blue and green then it is red. If Charlie is big and Charlie is round then Charlie is kind. If something is kind and not big then it is round. If something is kind and not blue then it is round. If something is green and not quiet then it is round.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Blue things are quiet.
((("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
If Gary is red then Gary is blue.
((("Gary" "is" "red" "+")) -> ("Gary" "is" "blue" "+"))
If something is quiet then it is green.
((("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
If something is blue and green then it is red.
((("something" "is" "blue" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If Charlie is big and Charlie is round then Charlie is kind.
((("Charlie" "is" "big" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "kind" "+"))
If something is kind and not big then it is round.
((("something" "is" "kind" "+") ("something" "is" "big" "~")) -> ("something" "is" "round" "+"))
If something is kind and not blue then it is round.
((("something" "is" "kind" "+") ("something" "is" "blue" "~")) -> ("something" "is" "round" "+"))
If something is green and not quiet then it is round.
((("something" "is" "green" "+") ("something" "is" "quiet" "~")) -> ("something" "is" "round" "+"))
Charlie is green.
True
1
proof
[(triple2 OR ((triple4) -> rule3))]
("Charlie" "is" "green" "+")
triple2
((triple4) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is not big.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "big" "-")
triple1
Gary is quiet.
True
2
proof
[(((triple7) -> rule1))]
("Gary" "is" "quiet" "+")
((triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is not quiet.
False
2
inv-proof
[(((triple7) -> rule1))]
("Gary" "is" "quiet" "-")
((triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
True
3
proof
[(((((triple7) -> rule1)) -> rule3))]
("Gary" "is" "green" "+")
((((triple7) -> (rule1 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is not green.
False
3
inv-proof
[(((((triple7) -> rule1)) -> rule3))]
("Gary" "is" "green" "-")
((((triple7) -> (rule1 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is red.
True
5
proof
[(((triple7 ((((triple7) -> rule1)) -> rule3)) -> rule4))]
("Gary" "is" "red" "+")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is not red.
False
5
inv-proof
[(((triple7 ((((triple7) -> rule1)) -> rule3)) -> rule4))]
("Gary" "is" "red" "-")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is not round.
Unknown
inv-rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "round" "-")
Gary is big.
Unknown
random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "+")
Gary is not kind.
Unknown
inv-random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
@0: Charlie is big.[(triple1)] Charlie is green.[(triple2 OR ((triple4) -> rule3))] Charlie is kind.[(triple3 OR ((triple1 triple6) -> rule5))] Charlie is quiet.[(triple4)] Charlie is red.[(triple5)] Charlie is round.[(triple6)] Gary is blue.[(triple7)] @1: Gary is quiet.[(((triple7) -> rule1))] @2: Gary is green.[(((((triple7) -> rule1)) -> rule3))] @3: Gary is red.[(((triple7 ((((triple7) -> rule1)) -> rule3)) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
((triple4) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
((triple1 triple6) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
Gary is blue.
("Gary" "is" "blue" "+")
triple7
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple7) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((((triple7) -> (rule1 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((triple7 ((((triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3