Anne is cold. Anne is furry. Anne is rough. Anne is white. Erin is furry. Erin is green. Erin is kind. Erin is nice. Erin is rough. Fiona is cold. Fiona is furry. Fiona is green. Fiona is rough. Fiona is white. Gary is nice. If someone is cold then they are nice. All green people are rough. Furry people are rough. If Gary is cold and Gary is furry then Gary is green. Nice, cold people are furry. If Anne is furry and Anne is cold then Anne is nice. If someone is kind then they are green. All furry people are green.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is nice.
("Gary" "is" "nice" "+")
If someone is cold then they are nice.
((("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
All green people are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
Furry people are rough.
((("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
If Gary is cold and Gary is furry then Gary is green.
((("Gary" "is" "cold" "+") ("Gary" "is" "furry" "+")) -> ("Gary" "is" "green" "+"))
Nice, cold people are furry.
((("someone" "is" "nice" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
If Anne is furry and Anne is cold then Anne is nice.
((("Anne" "is" "furry" "+") ("Anne" "is" "cold" "+")) -> ("Anne" "is" "nice" "+"))
If someone is kind then they are green.
((("someone" "is" "kind" "+")) -> ("someone" "is" "green" "+"))
All furry people are green.
((("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
Fiona is cold.
True
1
proof
[(triple10)]
("Fiona" "is" "cold" "+")
triple10
Erin is not kind.
False
1
inv-proof
[(triple7)]
("Erin" "is" "kind" "-")
triple7
Anne is green.
True
2
proof
[(((triple2) -> rule8) OR ((((((triple1) -> rule1) triple1) -> rule5)) -> rule8))]
("Anne" "is" "green" "+")
((triple2) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((((triple1) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is not nice.
False
2
inv-proof
[(((triple1) -> rule1) OR ((triple2 triple1) -> rule6))]
("Anne" "is" "nice" "-")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple2 triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Gary is not green.
Unknown
inv-rconc
[@2: Gary is green.[CWA. Example of deepest failure = (rule8 <- rule5 <- FAIL)]]
("Gary" "is" "green" "-")
Gary is rough.
Unknown
rconc
[@3: Gary is rough.[CWA. Example of deepest failure = (rule2 <- rule8 <- rule5 <- FAIL)]]
("Gary" "is" "rough" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2 OR ((((triple1) -> rule1) triple1) -> rule5))] Anne is rough.[(triple3 OR ((triple2) -> rule3) OR ((((triple2) -> rule8)) -> rule2) OR ((((((triple1) -> rule1) triple1) -> rule5)) -> rule3) OR ((((((((triple1) -> rule1) triple1) -> rule5)) -> rule8)) -> rule2))] Anne is white.[(triple4)] Erin is furry.[(triple5)] Erin is green.[(triple6 OR ((triple5) -> rule8) OR ((triple7) -> rule7))] Erin is kind.[(triple7)] Erin is nice.[(triple8)] Erin is rough.[(triple9 OR ((triple5) -> rule3) OR ((triple6) -> rule2) OR ((((triple5) -> rule8)) -> rule2) OR ((((triple7) -> rule7)) -> rule2))] Fiona is cold.[(triple10)] Fiona is furry.[(triple11 OR ((((triple10) -> rule1) triple10) -> rule5))] Fiona is green.[(triple12 OR ((triple11) -> rule8) OR ((((((triple10) -> rule1) triple10) -> rule5)) -> rule8))] Fiona is rough.[(triple13 OR ((triple11) -> rule3) OR ((triple12) -> rule2) OR ((((triple11) -> rule8)) -> rule2) OR ((((((triple10) -> rule1) triple10) -> rule5)) -> rule3) OR ((((((((triple10) -> rule1) triple10) -> rule5)) -> rule8)) -> rule2))] Fiona is white.[(triple14)] Gary is nice.[(triple15)] @1: Anne is green.[(((triple2) -> rule8) OR ((((((triple1) -> rule1) triple1) -> rule5)) -> rule8))] Anne is nice.[(((triple1) -> rule1) OR ((triple2 triple1) -> rule6))] Fiona is nice.[(((triple10) -> rule1))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((((triple1) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple2) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple2) -> (rule8 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((((triple1) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((((triple1) -> (rule1 % int4)) triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
triple4
Erin is furry.
("Erin" "is" "furry" "+")
triple5
Erin is green.
("Erin" "is" "green" "+")
triple6
((triple5) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple7) -> (rule7 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple8
Erin is rough.
("Erin" "is" "rough" "+")
triple9
((triple5) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple6) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((((triple5) -> (rule8 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((triple7) -> (rule7 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
Fiona is furry.
("Fiona" "is" "furry" "+")
triple11
((((triple10) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
triple12
((triple11) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((((triple10) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
triple13
((triple11) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple12) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple11) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((((triple10) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((((triple10) -> (rule1 % int4)) triple10) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is white.
("Fiona" "is" "white" "+")
triple14
Gary is nice.
("Gary" "is" "nice" "+")
triple15
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((((triple1) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple2 triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple10) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1