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