Anne is blue. Anne is nice. Anne is red. Charlie is green. Charlie is red. Charlie is white. Charlie is young. Erin is blue. Erin is green. Erin is nice. Gary is green. Gary is young. All green, nice people are kind. White, green people are nice. Blue people are white. If Charlie is nice and Charlie is kind then Charlie is green. All red people are nice. If someone is green then they are blue. If Erin is red and Erin is white then Erin is kind. Young, kind people are red.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is young.
("Gary" "is" "young" "+")
All green, nice people are kind.
((("someone" "is" "green" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
White, green people are nice.
((("someone" "is" "white" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Blue people are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
If Charlie is nice and Charlie is kind then Charlie is green.
((("Charlie" "is" "nice" "+") ("Charlie" "is" "kind" "+")) -> ("Charlie" "is" "green" "+"))
All red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is green then they are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
If Erin is red and Erin is white then Erin is kind.
((("Erin" "is" "red" "+") ("Erin" "is" "white" "+")) -> ("Erin" "is" "kind" "+"))
Young, kind people are red.
((("someone" "is" "young" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
Erin is blue.
True
1
proof
[(triple8 OR ((triple9) -> rule6))]
("Erin" "is" "blue" "+")
triple8
((triple9) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is not green.
False
1
inv-proof
[(triple9)]
("Erin" "is" "green" "-")
triple9
Charlie is nice.
True
2
proof
[(((triple5) -> rule5) OR ((triple6 triple4) -> rule2) OR ((((((triple4) -> rule6)) -> rule3) triple4) -> rule2))]
("Charlie" "is" "nice" "+")
((triple5) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple6 triple4) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((((triple4) -> (rule6 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Gary is not blue.
False
2
inv-proof
[(((triple11) -> rule6))]
("Gary" "is" "blue" "-")
((triple11) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is white.
True
3
proof
[(((((triple11) -> rule6)) -> rule3))]
("Gary" "is" "white" "+")
((((triple11) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is not white.
False
3
inv-proof
[(((((triple11) -> rule6)) -> rule3))]
("Gary" "is" "white" "-")
((((triple11) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is nice.
True
5
proof
[(((((((triple11) -> rule6)) -> rule3) triple11) -> rule2))]
("Gary" "is" "nice" "+")
((((((triple11) -> (rule6 % int3))) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is not nice.
False
5
inv-proof
[(((((((triple11) -> rule6)) -> rule3) triple11) -> rule2))]
("Gary" "is" "nice" "-")
((((((triple11) -> (rule6 % int3))) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is kind.
True
7
proof
[(((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1))]
("Gary" "is" "kind" "+")
((triple11 ((((((triple11) -> (rule6 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is not kind.
False
7
inv-proof
[(((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1))]
("Gary" "is" "kind" "-")
((triple11 ((((((triple11) -> (rule6 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is red.
True
9
proof
[(((triple12 ((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1)) -> rule8))]
("Gary" "is" "red" "+")
((triple12 ((triple11 ((((((triple11) -> (rule6 % int5))) -> (rule3 % int4)) triple11) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5
Gary is not red.
False
9
inv-proof
[(((triple12 ((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1)) -> rule8))]
("Gary" "is" "red" "-")
((triple12 ((triple11 ((((((triple11) -> (rule6 % int5))) -> (rule3 % int4)) triple11) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5
Anne is not kind.
Unknown
inv-rconc
[@1: Anne is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "kind" "-")
Erin is red.
Unknown
rconc
[@1: Erin is red.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Erin" "is" "red" "+")
Erin is not young.
Unknown
inv-random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
@0: Anne is blue.[(triple1)] Anne is nice.[(triple2 OR ((triple3) -> rule5))] Anne is red.[(triple3)] Charlie is green.[(triple4)] Charlie is red.[(triple5 OR ((triple7 ((triple4 ((triple6 triple4) -> rule2)) -> rule1)) -> rule8) OR ((triple7 ((triple4 ((((((triple4) -> rule6)) -> rule3) triple4) -> rule2)) -> rule1)) -> rule8))] Charlie is white.[(triple6 OR ((((triple4) -> rule6)) -> rule3))] Charlie is young.[(triple7)] Erin is blue.[(triple8 OR ((triple9) -> rule6))] Erin is green.[(triple9)] Erin is nice.[(triple10 OR ((((triple8) -> rule3) triple9) -> rule2) OR ((((((triple9) -> rule6)) -> rule3) triple9) -> rule2))] Gary is green.[(triple11)] Gary is young.[(triple12)] @1: Anne is white.[(((triple1) -> rule3))] Charlie is blue.[(((triple4) -> rule6))] Charlie is nice.[(((triple5) -> rule5) OR ((triple6 triple4) -> rule2) OR ((((((triple4) -> rule6)) -> rule3) triple4) -> rule2))] Erin is kind.[(((triple9 triple10) -> rule1) OR ((triple9 ((((triple8) -> rule3) triple9) -> rule2)) -> rule1) OR ((triple9 ((((((triple9) -> rule6)) -> rule3) triple9) -> rule2)) -> rule1))] Erin is white.[(((triple8) -> rule3) OR ((((triple9) -> rule6)) -> rule3))] Gary is blue.[(((triple11) -> rule6))] @2: Charlie is kind.[(((triple4 ((triple5) -> rule5)) -> rule1) OR ((triple4 ((triple6 triple4) -> rule2)) -> rule1) OR ((triple4 ((((((triple4) -> rule6)) -> rule3) triple4) -> rule2)) -> rule1))] Gary is white.[(((((triple11) -> rule6)) -> rule3))] @3: Gary is nice.[(((((((triple11) -> rule6)) -> rule3) triple11) -> rule2))] @4: Gary is kind.[(((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1))] @5: Gary is red.[(((triple12 ((triple11 ((((((triple11) -> rule6)) -> rule3) triple11) -> rule2)) -> rule1)) -> rule8))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple3) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
((triple7 ((triple4 ((triple6 triple4) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((triple7 ((triple4 ((((((triple4) -> (rule6 % int5))) -> (rule3 % int4)) triple4) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Charlie is white.
("Charlie" "is" "white" "+")
triple6
((((triple4) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
triple7
Erin is blue.
("Erin" "is" "blue" "+")
triple8
((triple9) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple9
Erin is nice.
("Erin" "is" "nice" "+")
triple10
((((triple8) -> (rule3 % int2)) triple9) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
((((((triple9) -> (rule6 % int3))) -> (rule3 % int2)) triple9) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
Anne is white.
("Anne" "is" "white" "+")
((triple1) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple4) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple5) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple6 triple4) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((((triple4) -> (rule6 % int3))) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
((triple9 triple10) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple9 ((((triple8) -> (rule3 % int3)) triple9) -> (rule2 % int2))) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
((triple9 ((((((triple9) -> (rule6 % int4))) -> (rule3 % int3)) triple9) -> (rule2 % int2))) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
((triple8) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((triple11) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple4 ((triple5) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple4 ((triple6 triple4) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple4 ((((((triple4) -> (rule6 % int4))) -> (rule3 % int3)) triple4) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
((((triple11) -> (rule6 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((((triple11) -> (rule6 % int3))) -> (rule3 % int2)) triple11) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
((triple11 ((((((triple11) -> (rule6 % int4))) -> (rule3 % int3)) triple11) -> (rule2 % int2))) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
((triple12 ((triple11 ((((((triple11) -> (rule6 % int5))) -> (rule3 % int4)) triple11) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5