Anne is blue. Dave is blue. Dave is furry. Fiona is furry. Fiona is nice. Fiona is rough. Fiona is smart. If Anne is blue and Anne is cold then Anne is nice. Blue things are nice. If something is round then it is nice. If something is nice and smart then it is rough. If Dave is rough and Dave is round then Dave is nice. Cold things are blue. Nice things are blue. Smart, blue things are furry.
Anne is blue.
("Anne" "is" "blue" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If Anne is blue and Anne is cold then Anne is nice.
((("Anne" "is" "blue" "+") ("Anne" "is" "cold" "+")) -> ("Anne" "is" "nice" "+"))
Blue things are nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is round then it is nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
If something is nice and smart then it is rough.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
If Dave is rough and Dave is round then Dave is nice.
((("Dave" "is" "rough" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "nice" "+"))
Cold things are blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
Nice things are blue.
((("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
Smart, blue things are furry.
((("something" "is" "smart" "+") ("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
Fiona is smart.
True
1
proof
[(triple7)]
("Fiona" "is" "smart" "+")
triple7
Anne is not blue.
False
1
inv-proof
[(triple1)]
("Anne" "is" "blue" "-")
triple1
Dave is nice.
True
2
proof
[(((triple2) -> rule2))]
("Dave" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is not nice.
False
2
inv-proof
[(((triple2) -> rule2))]
("Dave" "is" "nice" "-")
((triple2) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Anne is not furry.
Unknown
inv-rconc
[@1: Anne is furry.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "furry" "-")
Dave is rough.
Unknown
rconc
[@1: Dave is rough.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "rough" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Anne is blue.[(triple1)] Dave is blue.[(triple2)] Dave is furry.[(triple3)] Fiona is furry.[(triple4 OR ((triple7 ((triple5) -> rule7)) -> rule8))] Fiona is nice.[(triple5)] Fiona is rough.[(triple6 OR ((triple5 triple7) -> rule4))] Fiona is smart.[(triple7)] @1: Anne is nice.[(((triple1) -> rule2))] Dave is nice.[(((triple2) -> rule2))] Fiona is blue.[(((triple5) -> rule7))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
Dave is furry.
("Dave" "is" "furry" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
((triple7 ((triple5) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
((triple5 triple7) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple7
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple5) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1