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