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