Anne is blue. Anne is cold. Anne is rough. Anne is smart. Anne is white. Erin is blue. Erin is cold. Erin is kind. Erin is rough. Erin is smart. Fiona is blue. Fiona is round. Gary is blue. Gary is rough. Gary is white. If something is white then it is round. All blue things are kind. If something is cold and round then it is blue. If Gary is kind and Gary is white then Gary is rough. All blue, smart things are white. If Anne is round and Anne is cold then Anne is blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
If something is white then it is round.
((("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
All blue things are kind.
((("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
If something is cold and round then it is blue.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If Gary is kind and Gary is white then Gary is rough.
((("Gary" "is" "kind" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "rough" "+"))
All blue, smart things are white.
((("something" "is" "blue" "+") ("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
If Anne is round and Anne is cold then Anne is blue.
((("Anne" "is" "round" "+") ("Anne" "is" "cold" "+")) -> ("Anne" "is" "blue" "+"))
Anne is cold.
True
1
proof
[(triple2)]
("Anne" "is" "cold" "+")
triple2
Erin is not blue.
False
1
inv-proof
[(triple6)]
("Erin" "is" "blue" "-")
triple6
Anne is kind.
True
2
proof
[(((triple1) -> rule2) OR ((((triple2 ((triple5) -> rule1)) -> rule3)) -> rule2) OR ((((((triple5) -> rule1) triple2) -> rule6)) -> rule2))]
("Anne" "is" "kind" "+")
((triple1) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple2 ((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
((((((triple5) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Erin is not white.
False
3
inv-proof
[(((triple6 triple10) -> rule5))]
("Erin" "is" "white" "-")
((triple6 triple10) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is round.
True
4
proof
[(((((triple6 triple10) -> rule5)) -> rule1))]
("Erin" "is" "round" "+")
((((triple6 triple10) -> (rule5 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is not round.
False
4
inv-proof
[(((((triple6 triple10) -> rule5)) -> rule1))]
("Erin" "is" "round" "-")
((((triple6 triple10) -> (rule5 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Fiona is not white.
Unknown
inv-rconc
[@1: Fiona is white.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "white" "-")
Fiona is smart.
Unknown
random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
@0: Anne is blue.[(triple1 OR ((triple2 ((triple5) -> rule1)) -> rule3) OR ((((triple5) -> rule1) triple2) -> rule6))] Anne is cold.[(triple2)] Anne is rough.[(triple3)] Anne is smart.[(triple4)] Anne is white.[(triple5 OR ((triple1 triple4) -> rule5))] Erin is blue.[(triple6)] Erin is cold.[(triple7)] Erin is kind.[(triple8 OR ((triple6) -> rule2))] Erin is rough.[(triple9)] Erin is smart.[(triple10)] Fiona is blue.[(triple11)] Fiona is round.[(triple12)] Gary is blue.[(triple13)] Gary is rough.[(triple14 OR ((((triple13) -> rule2) triple15) -> rule4))] Gary is white.[(triple15)] @1: Anne is kind.[(((triple1) -> rule2) OR ((((triple2 ((triple5) -> rule1)) -> rule3)) -> rule2) OR ((((((triple5) -> rule1) triple2) -> rule6)) -> rule2))] Anne is round.[(((triple5) -> rule1) OR ((((triple1 triple4) -> rule5)) -> rule1))] Erin is white.[(((triple6 triple10) -> rule5))] Fiona is kind.[(((triple11) -> rule2))] Gary is kind.[(((triple13) -> rule2))] Gary is round.[(((triple15) -> rule1))] @2: Erin is round.[(((((triple6 triple10) -> rule5)) -> rule1))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple2 ((triple5) -> (rule1 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
((((triple5) -> (rule1 % int2)) triple2) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Anne is smart.
("Anne" "is" "smart" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
triple5
((triple1 triple4) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
triple8
((triple6) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple9
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
triple11
Fiona is round.
("Fiona" "is" "round" "+")
triple12
Gary is blue.
("Gary" "is" "blue" "+")
triple13
Gary is rough.
("Gary" "is" "rough" "+")
triple14
((((triple13) -> (rule2 % int2)) triple15) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple15
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple2 ((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
((((((triple5) -> (rule1 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
((triple5) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple1 triple4) -> (rule5 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((triple6 triple10) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple11) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple13) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple15) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
((((triple6 triple10) -> (rule5 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2