Anne is kind. Charlie is white. Fiona is kind. Fiona is red. Fiona is smart. Fiona is white. Gary is cold. Gary is kind. Gary is quiet. Gary is red. Gary is round. Gary is white. All round people are smart. If someone is quiet then they are cold. All white people are red. All smart, kind people are cold. All kind people are round. If Charlie is white and Charlie is round then Charlie is smart. If someone is quiet and smart then they are white. If Gary is smart then Gary is white. All cold people are white.
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
All round people are smart.
((("someone" "is" "round" "+")) -> ("someone" "is" "smart" "+"))
If someone is quiet then they are cold.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
All white people are red.
((("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
All smart, kind people are cold.
((("someone" "is" "smart" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
All kind people are round.
((("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If Charlie is white and Charlie is round then Charlie is smart.
((("Charlie" "is" "white" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "smart" "+"))
If someone is quiet and smart then they are white.
((("someone" "is" "quiet" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "white" "+"))
If Gary is smart then Gary is white.
((("Gary" "is" "smart" "+")) -> ("Gary" "is" "white" "+"))
All cold people are white.
((("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
Charlie is white.
True
1
proof
[(triple2)]
("Charlie" "is" "white" "+")
triple2
Gary is not kind.
False
1
inv-proof
[(triple8)]
("Gary" "is" "kind" "-")
triple8
Fiona is cold.
True
3
proof
[(((triple5 triple3) -> rule4) OR ((((((triple3) -> rule5)) -> rule1) triple3) -> rule4))]
("Fiona" "is" "cold" "+")
((triple5 triple3) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Gary is not smart.
False
2
inv-proof
[(((triple11) -> rule1) OR ((((triple8) -> rule5)) -> rule1))]
("Gary" "is" "smart" "-")
((triple11) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple8) -> (rule5 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Anne is smart.
True
3
proof
[(((((triple1) -> rule5)) -> rule1))]
("Anne" "is" "smart" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is not smart.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule1))]
("Anne" "is" "smart" "-")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is cold.
True
5
proof
[(((((((triple1) -> rule5)) -> rule1) triple1) -> rule4))]
("Anne" "is" "cold" "+")
((((((triple1) -> (rule5 % int3))) -> (rule1 % int2)) triple1) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is not cold.
False
5
inv-proof
[(((((((triple1) -> rule5)) -> rule1) triple1) -> rule4))]
("Anne" "is" "cold" "-")
((((((triple1) -> (rule5 % int3))) -> (rule1 % int2)) triple1) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is white.
True
6
proof
[(((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9))]
("Anne" "is" "white" "+")
((((((((triple1) -> (rule5 % int4))) -> (rule1 % int3)) triple1) -> (rule4 % int2))) -> (rule9 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is not white.
False
6
inv-proof
[(((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9))]
("Anne" "is" "white" "-")
((((((((triple1) -> (rule5 % int4))) -> (rule1 % int3)) triple1) -> (rule4 % int2))) -> (rule9 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
True
7
proof
[(((((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9)) -> rule3))]
("Anne" "is" "red" "+")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) triple1) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
int5
Anne is not red.
False
7
inv-proof
[(((((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9)) -> rule3))]
("Anne" "is" "red" "-")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) triple1) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
int5
Charlie is not round.
Unknown
inv-rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "round" "-")
Charlie is smart.
Unknown
rconc
[@2: Charlie is smart.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Charlie" "is" "smart" "+")
Charlie is not cold.
Unknown
inv-rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "cold" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
@0: Anne is kind.[(triple1)] Charlie is white.[(triple2)] Fiona is kind.[(triple3)] Fiona is red.[(triple4 OR ((triple6) -> rule3) OR ((((((triple5 triple3) -> rule4)) -> rule9)) -> rule3) OR ((((((((((triple3) -> rule5)) -> rule1) triple3) -> rule4)) -> rule9)) -> rule3))] Fiona is smart.[(triple5 OR ((((triple3) -> rule5)) -> rule1))] Fiona is white.[(triple6 OR ((((triple5 triple3) -> rule4)) -> rule9) OR ((((((((triple3) -> rule5)) -> rule1) triple3) -> rule4)) -> rule9))] Gary is cold.[(triple7 OR ((triple9) -> rule2) OR ((((triple11) -> rule1) triple8) -> rule4) OR ((((((triple8) -> rule5)) -> rule1) triple8) -> rule4))] Gary is kind.[(triple8)] Gary is quiet.[(triple9)] Gary is red.[(triple10 OR ((triple12) -> rule3) OR ((((triple7) -> rule9)) -> rule3) OR ((((((triple11) -> rule1)) -> rule8)) -> rule3) OR ((((((triple9) -> rule2)) -> rule9)) -> rule3) OR ((((triple9 ((triple11) -> rule1)) -> rule7)) -> rule3) OR ((((((((triple8) -> rule5)) -> rule1)) -> rule8)) -> rule3) OR ((((((((triple11) -> rule1) triple8) -> rule4)) -> rule9)) -> rule3) OR ((((triple9 ((((triple8) -> rule5)) -> rule1)) -> rule7)) -> rule3) OR ((((((((((triple8) -> rule5)) -> rule1) triple8) -> rule4)) -> rule9)) -> rule3))] Gary is round.[(triple11 OR ((triple8) -> rule5))] Gary is white.[(triple12 OR ((triple7) -> rule9) OR ((((triple11) -> rule1)) -> rule8) OR ((((triple9) -> rule2)) -> rule9) OR ((triple9 ((triple11) -> rule1)) -> rule7) OR ((((((triple8) -> rule5)) -> rule1)) -> rule8) OR ((((((triple11) -> rule1) triple8) -> rule4)) -> rule9) OR ((triple9 ((((triple8) -> rule5)) -> rule1)) -> rule7) OR ((((((((triple8) -> rule5)) -> rule1) triple8) -> rule4)) -> rule9))] @1: Anne is round.[(((triple1) -> rule5))] Charlie is red.[(((triple2) -> rule3))] Fiona is cold.[(((triple5 triple3) -> rule4) OR ((((((triple3) -> rule5)) -> rule1) triple3) -> rule4))] Fiona is round.[(((triple3) -> rule5))] Gary is smart.[(((triple11) -> rule1) OR ((((triple8) -> rule5)) -> rule1))] @2: Anne is smart.[(((((triple1) -> rule5)) -> rule1))] @3: Anne is cold.[(((((((triple1) -> rule5)) -> rule1) triple1) -> rule4))] @4: Anne is white.[(((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9))] @5: Anne is red.[(((((((((((triple1) -> rule5)) -> rule1) triple1) -> rule4)) -> rule9)) -> rule3))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Charlie is white.
("Charlie" "is" "white" "+")
triple2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
((triple6) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((((triple5 triple3) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((((((((triple3) -> (rule5 % int5))) -> (rule1 % int4)) triple3) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
int5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple6
((((triple5 triple3) -> (rule4 % int2))) -> (rule9 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((((((triple3) -> (rule5 % int4))) -> (rule1 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
triple7
((triple9) -> (rule2 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple11) -> (rule1 % int2)) triple8) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((((triple8) -> (rule5 % int3))) -> (rule1 % int2)) triple8) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
triple8
Gary is quiet.
("Gary" "is" "quiet" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
((triple12) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple7) -> (rule9 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((((triple11) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple9) -> (rule2 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
((((triple9 ((triple11) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((((triple8) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((((((triple11) -> (rule1 % int4)) triple8) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((triple9 ((((triple8) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((((((((triple8) -> (rule5 % int5))) -> (rule1 % int4)) triple8) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
int5
Gary is round.
("Gary" "is" "round" "+")
triple11
((triple8) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple12
((triple7) -> (rule9 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple11) -> (rule1 % int2))) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple9) -> (rule2 % int2))) -> (rule9 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
((triple9 ((triple11) -> (rule1 % int2))) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((((triple8) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((((triple11) -> (rule1 % int3)) triple8) -> (rule4 % int2))) -> (rule9 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((triple9 ((((triple8) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((((((triple8) -> (rule5 % int4))) -> (rule1 % int3)) triple8) -> (rule4 % int2))) -> (rule9 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
((triple1) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple2) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple5 triple3) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((triple3) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple11) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple8) -> (rule5 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
((((((triple1) -> (rule5 % int3))) -> (rule1 % int2)) triple1) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
((((((((triple1) -> (rule5 % int4))) -> (rule1 % int3)) triple1) -> (rule4 % int2))) -> (rule9 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
((((((((((triple1) -> (rule5 % int5))) -> (rule1 % int4)) triple1) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
int5