Anne is blue. Anne is red. Anne is smart. Charlie is red. Charlie is white. Erin is big. Erin is cold. All white, red things are cold. Big things are blue. If something is cold and red then it is blue. Big, round things are blue. Smart things are big. If something is blue and round then it is smart. Smart, blue things are red. All round things are white.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
All white, red things are cold.
((("something" "is" "white" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If something is cold and red then it is blue.
((("something" "is" "cold" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Big, round things are blue.
((("something" "is" "big" "+") ("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
Smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If something is blue and round then it is smart.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
Smart, blue things are red.
((("something" "is" "smart" "+") ("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
All round things are white.
((("something" "is" "round" "+")) -> ("something" "is" "white" "+"))
Anne is blue.
True
1
proof
[(triple1 OR ((((triple3) -> rule5)) -> rule2))]
("Anne" "is" "blue" "+")
triple1
((((triple3) -> (rule5 % int2))) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Erin is not cold.
False
1
inv-proof
[(triple7)]
("Erin" "is" "cold" "-")
triple7
Anne is big.
True
2
proof
[(((triple3) -> rule5))]
("Anne" "is" "big" "+")
((triple3) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Erin is not blue.
False
2
inv-proof
[(((triple6) -> rule2))]
("Erin" "is" "blue" "-")
((triple6) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is not red.
Unknown
inv-rconc
[@2: Erin is red.[CWA. Example of deepest failure = (rule7 <- rule6 <- FAIL)]]
("Erin" "is" "red" "-")
Erin is smart.
Unknown
rconc
[@1: Erin is smart.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "smart" "+")
Charlie is not round.
Unknown
inv-random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
@0: Anne is blue.[(triple1 OR ((((triple3) -> rule5)) -> rule2))] Anne is red.[(triple2 OR ((triple3 triple1) -> rule7) OR ((triple3 ((((triple3) -> rule5)) -> rule2)) -> rule7))] Anne is smart.[(triple3)] Charlie is red.[(triple4)] Charlie is white.[(triple5)] Erin is big.[(triple6)] Erin is cold.[(triple7)] @1: Anne is big.[(((triple3) -> rule5))] Charlie is cold.[(((triple5 triple4) -> rule1))] Erin is blue.[(((triple6) -> rule2))] @2: Charlie is blue.[(((((triple5 triple4) -> rule1) triple4) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((((triple3) -> (rule5 % int2))) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple2
((triple3 triple1) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple3 ((((triple3) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Erin is big.
("Erin" "is" "big" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
Anne is big.
("Anne" "is" "big" "+")
((triple3) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple5 triple4) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple6) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple5 triple4) -> (rule1 % int2)) triple4) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2