Anne is red. Charlie is blue. Charlie is furry. Dave is kind. Dave is nice. Gary is not kind. Gary is red. Furry things are big. If something is red and not nice then it is big. All red things are furry. If something is blue and not nice then it is furry. All white things are blue. Big things are white. If something is kind and white then it is red. If something is kind then it is red.
Anne is red.
("Anne" "is" "red" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Gary is not kind.
("Gary" "is" "kind" "-")
Gary is red.
("Gary" "is" "red" "+")
Furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
If something is red and not nice then it is big.
((("something" "is" "red" "+") ("something" "is" "nice" "~")) -> ("something" "is" "big" "+"))
All red things are furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If something is blue and not nice then it is furry.
((("something" "is" "blue" "+") ("something" "is" "nice" "~")) -> ("something" "is" "furry" "+"))
All white things are blue.
((("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
Big things are white.
((("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If something is kind and white then it is red.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
If something is kind then it is red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
Dave is kind.
True
1
proof
[(triple4)]
("Dave" "is" "kind" "+")
triple4
Gary is not red.
False
1
inv-proof
[(triple7)]
("Gary" "is" "red" "-")
triple7
Anne is furry.
True
2
proof
[(((triple1) -> rule3))]
("Anne" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not furry.
False
2
inv-proof
[(((triple1) -> rule3))]
("Anne" "is" "furry" "-")
((triple1) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Dave is furry.
True
3
proof
[(((((triple4) -> rule8)) -> rule3))]
("Dave" "is" "furry" "+")
((((triple4) -> (rule8 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Anne is not big.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule1))]
("Anne" "is" "big" "-")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Gary is white.
True
4
proof
[(((((((triple7) -> rule3)) -> rule1)) -> rule6))]
("Gary" "is" "white" "+")
((((((triple7) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Dave is not big.
False
4
inv-proof
[(((((((triple4) -> rule8)) -> rule3)) -> rule1))]
("Dave" "is" "big" "-")
((((((triple4) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Gary is blue.
True
5
proof
[(((((((((triple7) -> rule3)) -> rule1)) -> rule6)) -> rule5))]
("Gary" "is" "blue" "+")
((((((((triple7) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Anne is not blue.
False
5
inv-proof
[(((((((((triple1) -> rule3)) -> rule1)) -> rule6)) -> rule5))]
("Anne" "is" "blue" "-")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Dave is blue.
True
6
proof
[(((((((((((triple4) -> rule8)) -> rule3)) -> rule1)) -> rule6)) -> rule5))]
("Dave" "is" "blue" "+")
((((((((((triple4) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5
Dave is not blue.
False
6
inv-proof
[(((((((((((triple4) -> rule8)) -> rule3)) -> rule1)) -> rule6)) -> rule5))]
("Dave" "is" "blue" "-")
((((((((((triple4) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is nice.
Unknown
random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "+")
Anne is not kind.
Unknown
inv-random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
Gary is not nice.
Unknown
inv-random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
@0: Anne is red.[(triple1)] Charlie is blue.[(triple2 OR ((((((triple3) -> rule1)) -> rule6)) -> rule5))] Charlie is furry.[(triple3)] Dave is kind.[(triple4)] Dave is nice.[(triple5)] Gary is not kind.[(triple6)] Gary is red.[(triple7)] @1: Anne is furry.[(((triple1) -> rule3))] Charlie is big.[(((triple3) -> rule1))] Dave is red.[(((triple4) -> rule8))] Gary is furry.[(((triple7) -> rule3))] @2: Anne is big.[(((((triple1) -> rule3)) -> rule1))] Charlie is white.[(((((triple3) -> rule1)) -> rule6))] Dave is furry.[(((((triple4) -> rule8)) -> rule3))] Gary is big.[(((((triple7) -> rule3)) -> rule1))] @3: Anne is white.[(((((((triple1) -> rule3)) -> rule1)) -> rule6))] Dave is big.[(((((((triple4) -> rule8)) -> rule3)) -> rule1))] Gary is white.[(((((((triple7) -> rule3)) -> rule1)) -> rule6))] @4: Anne is blue.[(((((((((triple1) -> rule3)) -> rule1)) -> rule6)) -> rule5))] Dave is white.[(((((((((triple4) -> rule8)) -> rule3)) -> rule1)) -> rule6))] Gary is blue.[(((((((((triple7) -> rule3)) -> rule1)) -> rule6)) -> rule5))] @5: Dave is blue.[(((((((((((triple4) -> rule8)) -> rule3)) -> rule1)) -> rule6)) -> rule5))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
Dave is kind.
("Dave" "is" "kind" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
Gary is not kind.
("Gary" "is" "kind" "-")
triple6
Gary is red.
("Gary" "is" "red" "+")
triple7
Anne is furry.
("Anne" "is" "furry" "+")
((triple1) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((triple3) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple4) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple7) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple4) -> (rule8 % int2))) -> (rule3 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
((((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
((((((triple4) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((((((triple7) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Dave is white.
("Dave" "is" "white" "+")
((((((((triple4) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
((((((((triple7) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Dave is blue.
("Dave" "is" "blue" "+")
((((((((((triple4) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5