Anne is green. Anne is kind. Anne is rough. Fiona is big. Fiona is blue. Fiona is green. Fiona is kind. Fiona is nice. Gary is cold. Gary is green. All nice, blue people are kind. Kind people are nice. If someone is green then they are rough. If Gary is big then Gary is cold. All nice, blue people are big. If someone is nice then they are kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
All nice, blue people are kind.
((("someone" "is" "nice" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If someone is green then they are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If Gary is big then Gary is cold.
((("Gary" "is" "big" "+")) -> ("Gary" "is" "cold" "+"))
All nice, blue people are big.
((("someone" "is" "nice" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If someone is nice then they are kind.
((("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
Anne is rough.
True
1
proof
[(triple3 OR ((triple1) -> rule3))]
("Anne" "is" "rough" "+")
triple3
((triple1) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Fiona is not kind.
False
1
inv-proof
[(triple7 OR ((triple8) -> rule6) OR ((triple8 triple5) -> rule1))]
("Fiona" "is" "kind" "-")
triple7
((triple8) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple8 triple5) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
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
Gary is not nice.
Unknown
inv-rconc
[@2: Gary is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Gary" "is" "nice" "-")
Gary is kind.
Unknown
rconc
[@3: Gary is kind.[CWA. Example of deepest failure = (rule6 <- rule2 <- rule1 <- FAIL)]]
("Gary" "is" "kind" "+")
Anne is not blue.
Unknown
inv-random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Anne is green.[(triple1)] Anne is kind.[(triple2)] Anne is rough.[(triple3 OR ((triple1) -> rule3))] Fiona is big.[(triple4 OR ((triple8 triple5) -> rule5) OR ((((triple7) -> rule2) triple5) -> rule5))] Fiona is blue.[(triple5)] Fiona is green.[(triple6)] Fiona is kind.[(triple7 OR ((triple8) -> rule6) OR ((triple8 triple5) -> rule1))] Fiona is nice.[(triple8 OR ((triple7) -> rule2))] Gary is cold.[(triple9)] Gary is green.[(triple10)] @1: Anne is nice.[(((triple2) -> rule2))] Fiona is rough.[(((triple6) -> rule3))] Gary is rough.[(((triple10) -> rule3))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple1) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((triple8 triple5) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple7) -> (rule2 % int2)) triple5) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
((triple8) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple8 triple5) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
((triple7) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple6) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple10) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1