Anne is cold. Anne is kind. Anne is quiet. Anne is round. Charlie is furry. Erin is blue. Erin is furry. Erin is kind. Erin is round. Fiona is blue. Furry, blue things are kind. All kind, blue things are round. All cold, kind things are furry. All kind things are blue. Blue things are kind. If something is red then it is cold. Cold things are round. All furry, blue things are cold.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is round.
("Anne" "is" "round" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Furry, blue things are kind.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
All kind, blue things are round.
((("something" "is" "kind" "+") ("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
All cold, kind things are furry.
((("something" "is" "cold" "+") ("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
All kind things are blue.
((("something" "is" "kind" "+")) -> ("something" "is" "blue" "+"))
Blue things are kind.
((("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
If something is red then it is cold.
((("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
All furry, blue things are cold.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
Erin is blue.
True
1
proof
[(triple6 OR ((triple8) -> rule4))]
("Erin" "is" "blue" "+")
triple6
((triple8) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is not blue.
False
1
inv-proof
[(triple6 OR ((triple8) -> rule4))]
("Erin" "is" "blue" "-")
triple6
((triple8) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Fiona is not furry.
Unknown
inv-rconc
[@2: Fiona is furry.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
@0: Anne is cold.[(triple1)] Anne is kind.[(triple2)] Anne is quiet.[(triple3)] Anne is round.[(triple4 OR ((triple1) -> rule7) OR ((triple2 ((triple2) -> rule4)) -> rule2))] Charlie is furry.[(triple5)] Erin is blue.[(triple6 OR ((triple8) -> rule4))] Erin is furry.[(triple7)] Erin is kind.[(triple8 OR ((triple6) -> rule5) OR ((triple7 triple6) -> rule1))] Erin is round.[(triple9 OR ((triple8 triple6) -> rule2) OR ((((triple7 triple6) -> rule8)) -> rule7) OR ((triple8 ((triple8) -> rule4)) -> rule2) OR ((((triple6) -> rule5) triple6) -> rule2) OR ((((triple7 triple6) -> rule1) triple6) -> rule2) OR ((((triple6) -> rule5) ((triple8) -> rule4)) -> rule2) OR ((((triple7 triple6) -> rule1) ((triple8) -> rule4)) -> rule2) OR ((((triple7 ((triple8) -> rule4)) -> rule8)) -> rule7))] Fiona is blue.[(triple10)] @1: Anne is blue.[(((triple2) -> rule4))] Anne is furry.[(((triple1 triple2) -> rule3))] Erin is cold.[(((triple7 triple6) -> rule8) OR ((triple7 ((triple8) -> rule4)) -> rule8))] Fiona is kind.[(((triple10) -> rule5))] @2: Fiona is round.[(((((triple10) -> rule5) triple10) -> rule2))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
Anne is round.
("Anne" "is" "round" "+")
triple4
((triple1) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple2 ((triple2) -> (rule4 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
((triple8) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
triple8
((triple6) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple7 triple6) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
triple9
((triple8 triple6) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple7 triple6) -> (rule8 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple8 ((triple8) -> (rule4 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6) -> (rule5 % int2)) triple6) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple7 triple6) -> (rule1 % int2)) triple6) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple6) -> (rule5 % int3)) ((triple8) -> (rule4 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple7 triple6) -> (rule1 % int3)) ((triple8) -> (rule4 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple7 ((triple8) -> (rule4 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple10
Anne is blue.
("Anne" "is" "blue" "+")
((triple2) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple1 triple2) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple7 triple6) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple7 ((triple8) -> (rule4 % int2))) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple10) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple10) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2