Anne is cold. Anne is round. Charlie is cold. Charlie is furry. Charlie is rough. Dave is furry. Dave is nice. Dave is red. Dave is rough. Dave is round. If someone is nice then they are round. If someone is round then they are nice. All round, nice people are rough.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is round.
("Anne" "is" "round" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
If someone is nice then they are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
If someone is round then they are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
All round, nice people are rough.
((("someone" "is" "round" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
Dave is furry.
True
1
proof
[(triple6)]
("Dave" "is" "furry" "+")
triple6
Charlie is not furry.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "furry" "-")
triple4
Anne is nice.
True
2
proof
[(((triple2) -> rule2))]
("Anne" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not nice.
False
2
inv-proof
[(((triple2) -> rule2))]
("Anne" "is" "nice" "-")
((triple2) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
True
4
proof
[(((triple2 ((triple2) -> rule2)) -> rule3))]
("Anne" "is" "rough" "+")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not rough.
False
4
inv-proof
[(((triple2 ((triple2) -> rule2)) -> rule3))]
("Anne" "is" "rough" "-")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Charlie is not nice.
Unknown
inv-rconc
[@2: Charlie is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is round.
Unknown
rconc
[@2: Charlie is round.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Charlie" "is" "round" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
Anne is not big.
Unknown
inv-random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
@0: Anne is cold.[(triple1)] Anne is round.[(triple2)] Charlie is cold.[(triple3)] Charlie is furry.[(triple4)] Charlie is rough.[(triple5)] Dave is furry.[(triple6)] Dave is nice.[(triple7 OR ((triple10) -> rule2))] Dave is red.[(triple8)] Dave is rough.[(triple9 OR ((triple10 triple7) -> rule3) OR ((triple10 ((triple10) -> rule2)) -> rule3) OR ((((triple7) -> rule1) triple7) -> rule3) OR ((((triple7) -> rule1) ((triple10) -> rule2)) -> rule3))] Dave is round.[(triple10 OR ((triple7) -> rule1))] @1: Anne is nice.[(((triple2) -> rule2))] @2: Anne is rough.[(((triple2 ((triple2) -> rule2)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Dave is nice.
("Dave" "is" "nice" "+")
triple7
((triple10) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
triple8
Dave is rough.
("Dave" "is" "rough" "+")
triple9
((triple10 triple7) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple10 ((triple10) -> (rule2 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
((((triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple10) -> (rule2 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
triple10
((triple7) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2