Anne is nice. Erin is young. Gary is blue. Cold people are nice. Kind people are red. All nice people are red. If someone is green and not kind then they are cold. Red people are green. If Gary is blue then Gary is nice. If Anne is young and Anne is kind then Anne is not nice. If Erin is cold and Erin is not nice then Erin is blue.
Anne is nice.
("Anne" "is" "nice" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Cold people are nice.
((("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
Kind people are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
All nice people are red.
((("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
If someone is green and not kind then they are cold.
((("someone" "is" "green" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "cold" "+"))
Red people are green.
((("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If Gary is blue then Gary is nice.
((("Gary" "is" "blue" "+")) -> ("Gary" "is" "nice" "+"))
If Anne is young and Anne is kind then Anne is not nice.
((("Anne" "is" "young" "+") ("Anne" "is" "kind" "+")) -> ("Anne" "is" "nice" "-"))
If Erin is cold and Erin is not nice then Erin is blue.
((("Erin" "is" "cold" "+") ("Erin" "is" "nice" "~")) -> ("Erin" "is" "blue" "+"))
Anne is nice.
True
1
proof
[(triple1)]
("Anne" "is" "nice" "+")
triple1
Anne is not nice.
False
1
inv-proof
[(triple1)]
("Anne" "is" "nice" "-")
triple1
Anne is red.
True
2
proof
[(((triple1) -> rule3))]
("Anne" "is" "red" "+")
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple1) -> rule3))]
("Anne" "is" "red" "-")
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Gary is red.
True
3
proof
[(((((triple3) -> rule6)) -> rule3))]
("Gary" "is" "red" "+")
((((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not red.
False
3
inv-proof
[(((((triple3) -> rule6)) -> rule3))]
("Gary" "is" "red" "-")
((((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
True
4
proof
[(((((((triple3) -> rule6)) -> rule3)) -> rule5))]
("Gary" "is" "green" "+")
((((((triple3) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not green.
False
4
inv-proof
[(((((((triple3) -> rule6)) -> rule3)) -> rule5))]
("Gary" "is" "green" "-")
((((((triple3) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Erin is not nice.
Unknown
inv-rconc
[@2: Erin is nice.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Erin" "is" "nice" "-")
Gary is cold.
Unknown
rconc
[@1: Gary is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "cold" "+")
Anne is not cold.
Unknown
inv-rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "cold" "-")
Erin is red.
Unknown
rconc
[@3: Erin is red.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule4 <- FAIL)]]
("Erin" "is" "red" "+")
Anne is not blue.
Unknown
inv-random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
Anne is not young.
Unknown
inv-random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
@0: Anne is nice.[(triple1)] Erin is young.[(triple2)] Gary is blue.[(triple3)] @1: Anne is red.[(((triple1) -> rule3))] Gary is nice.[(((triple3) -> rule6))] @2: Anne is green.[(((((triple1) -> rule3)) -> rule5))] Gary is red.[(((((triple3) -> rule6)) -> rule3))] @3: Gary is green.[(((((((triple3) -> rule6)) -> rule3)) -> rule5))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Erin is young.
("Erin" "is" "young" "+")
triple2
Gary is blue.
("Gary" "is" "blue" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
((triple3) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((((((triple3) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3