Dave is round. Fiona is quiet. Rough, round things are quiet. Round things are furry. If something is round and furry then it is kind. All cold things are round. If Fiona is cold then Fiona is big. If Fiona is rough then Fiona is big.
Dave is round.
("Dave" "is" "round" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Rough, round things are quiet.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
Round things are furry.
((("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
If something is round and furry then it is kind.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
All cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If Fiona is cold then Fiona is big.
((("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "big" "+"))
If Fiona is rough then Fiona is big.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "big" "+"))
Dave is round.
True
1
proof
[(triple1)]
("Dave" "is" "round" "+")
triple1
Dave is not round.
False
1
inv-proof
[(triple1)]
("Dave" "is" "round" "-")
triple1
Dave is furry.
True
2
proof
[(((triple1) -> rule2))]
("Dave" "is" "furry" "+")
((triple1) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple1) -> rule2))]
("Dave" "is" "furry" "-")
((triple1) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is kind.
True
4
proof
[(((triple1 ((triple1) -> rule2)) -> rule3))]
("Dave" "is" "kind" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not kind.
False
4
inv-proof
[(((triple1 ((triple1) -> rule2)) -> rule3))]
("Dave" "is" "kind" "-")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Fiona is not kind.
Unknown
inv-rconc
[@2: Fiona is kind.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Fiona" "is" "kind" "-")
Fiona is round.
Unknown
rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not big.
Unknown
inv-rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "big" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Dave is round.[(triple1)] Fiona is quiet.[(triple2)] @1: Dave is furry.[(((triple1) -> rule2))] @2: Dave is kind.[(((triple1 ((triple1) -> rule2)) -> rule3))]
Dave is round.
("Dave" "is" "round" "+")
triple1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple2
Dave is furry.
("Dave" "is" "furry" "+")
((triple1) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2