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