Anne is big. Anne is cold. Anne is red. Anne is rough. Fiona is red. Harry is big. Harry is cold. If something is rough then it is cold. All cold, rough things are big. All big things are red. If Fiona is big and Fiona is not blue then Fiona is not rough. If Anne is red and Anne is not cold then Anne is quiet. Rough, quiet things are furry. If something is red and quiet then it is furry. If Fiona is big and Fiona is not rough then Fiona is not red.
Anne is big.
("Anne" "is" "big" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
If something is rough then it is cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
All cold, rough things are big.
((("something" "is" "cold" "+") ("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
All big things are red.
((("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
If Fiona is big and Fiona is not blue then Fiona is not rough.
((("Fiona" "is" "big" "+") ("Fiona" "is" "blue" "~")) -> ("Fiona" "is" "rough" "-"))
If Anne is red and Anne is not cold then Anne is quiet.
((("Anne" "is" "red" "+") ("Anne" "is" "cold" "~")) -> ("Anne" "is" "quiet" "+"))
Rough, quiet things are furry.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If something is red and quiet then it is furry.
((("something" "is" "red" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If Fiona is big and Fiona is not rough then Fiona is not red.
((("Fiona" "is" "big" "+") ("Fiona" "is" "rough" "~")) -> ("Fiona" "is" "red" "-"))
Harry is cold.
True
1
proof
[(triple7)]
("Harry" "is" "cold" "+")
triple7
Harry is not big.
False
1
inv-proof
[(triple6)]
("Harry" "is" "big" "-")
triple6
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "furry" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
@0: Anne is big.[(triple1 OR ((triple2 triple4) -> rule2) OR ((((triple4) -> rule1) triple4) -> rule2))] Anne is cold.[(triple2 OR ((triple4) -> rule1))] Anne is red.[(triple3 OR ((triple1) -> rule3) OR ((((triple2 triple4) -> rule2)) -> rule3) OR ((((((triple4) -> rule1) triple4) -> rule2)) -> rule3))] Anne is rough.[(triple4)] Fiona is red.[(triple5)] Harry is big.[(triple6)] Harry is cold.[(triple7)] @1: Harry is red.[(((triple6) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple2 triple4) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((((triple4) -> (rule1 % int2)) triple4) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple4) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple3
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple2 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((((triple4) -> (rule1 % int3)) triple4) -> (rule2 % int2))) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Harry is big.
("Harry" "is" "big" "+")
triple6
Harry is cold.
("Harry" "is" "cold" "+")
triple7
Harry is red.
("Harry" "is" "red" "+")
((triple6) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1