Erin is nice. Erin is red. Erin is round. Fiona is big. Fiona is cold. Fiona is green. Fiona is nice. Fiona is smart. Gary is cold. Gary is nice. If something is red and round then it is cold. If something is green then it is big. If Gary is smart then Gary is round. If something is cold and round then it is green. If something is big then it is green. All red, nice things are cold. If something is nice and smart then it is big. Big, green things are round.
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
If something is red and round then it is cold.
((("something" "is" "red" "+") ("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is green then it is big.
((("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
If Gary is smart then Gary is round.
((("Gary" "is" "smart" "+")) -> ("Gary" "is" "round" "+"))
If something is cold and round then it is green.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is big then it is green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
All red, nice things are cold.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
If something is nice and smart then it is big.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Big, green things are round.
((("something" "is" "big" "+") ("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
Fiona is cold.
True
1
proof
[(triple5)]
("Fiona" "is" "cold" "+")
triple5
Fiona is not green.
False
1
inv-proof
[(triple6 OR ((triple4) -> rule5) OR ((((triple7 triple8) -> rule7)) -> rule5))]
("Fiona" "is" "green" "-")
triple6
((triple4) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple7 triple8) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is round.
True
3
proof
[(((triple4 triple6) -> rule8) OR ((triple4 ((triple4) -> rule5)) -> rule8) OR ((((triple6) -> rule2) triple6) -> rule8) OR ((((triple7 triple8) -> rule7) triple6) -> rule8) OR ((((triple6) -> rule2) ((triple4) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((triple4) -> rule5)) -> rule8) OR ((triple4 ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple6) -> rule2) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8))]
("Fiona" "is" "round" "+")
((triple4 triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple4 ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple6) -> (rule2 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple7 triple8) -> (rule7 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple6) -> (rule2 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((triple4 ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple6) -> (rule2 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is not round.
False
3
inv-proof
[(((triple4 triple6) -> rule8) OR ((triple4 ((triple4) -> rule5)) -> rule8) OR ((((triple6) -> rule2) triple6) -> rule8) OR ((((triple7 triple8) -> rule7) triple6) -> rule8) OR ((((triple6) -> rule2) ((triple4) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((triple4) -> rule5)) -> rule8) OR ((triple4 ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple6) -> rule2) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8))]
("Fiona" "is" "round" "-")
((triple4 triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple4 ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple6) -> (rule2 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple7 triple8) -> (rule7 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple6) -> (rule2 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((triple4 ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple6) -> (rule2 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Erin is green.
True
5
proof
[(((((triple2 triple1) -> rule6) triple3) -> rule4) OR ((((triple2 triple3) -> rule1) triple3) -> rule4))]
("Erin" "is" "green" "+")
((((triple2 triple1) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple2 triple3) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is not green.
False
5
inv-proof
[(((((triple2 triple1) -> rule6) triple3) -> rule4) OR ((((triple2 triple3) -> rule1) triple3) -> rule4))]
("Erin" "is" "green" "-")
((((triple2 triple1) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple2 triple3) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is big.
True
6
proof
[(((((((triple2 triple1) -> rule6) triple3) -> rule4)) -> rule2) OR ((((((triple2 triple3) -> rule1) triple3) -> rule4)) -> rule2))]
("Erin" "is" "big" "+")
((((((triple2 triple1) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple2 triple3) -> (rule1 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is not big.
False
6
inv-proof
[(((((((triple2 triple1) -> rule6) triple3) -> rule4)) -> rule2) OR ((((((triple2 triple3) -> rule1) triple3) -> rule4)) -> rule2))]
("Erin" "is" "big" "-")
((((((triple2 triple1) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple2 triple3) -> (rule1 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Gary is not round.
Unknown
inv-rconc
[@4: Gary is round.[CWA. Example of deepest failure = (rule8 <- rule2 <- rule4 <- rule3 <- FAIL)]]
("Gary" "is" "round" "-")
Gary is green.
Unknown
rconc
[@4: Gary is green.[CWA. Example of deepest failure = (rule4 <- rule8 <- rule5 <- rule2 <- FAIL)]]
("Gary" "is" "green" "+")
Gary is not big.
Unknown
inv-rconc
[@4: Gary is big.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule8 <- rule7 <- FAIL)]]
("Gary" "is" "big" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
@0: Erin is nice.[(triple1)] Erin is red.[(triple2)] Erin is round.[(triple3)] Fiona is big.[(triple4 OR ((triple6) -> rule2) OR ((triple7 triple8) -> rule7))] Fiona is cold.[(triple5)] Fiona is green.[(triple6 OR ((triple4) -> rule5) OR ((((triple7 triple8) -> rule7)) -> rule5))] Fiona is nice.[(triple7)] Fiona is smart.[(triple8)] Gary is cold.[(triple9)] Gary is nice.[(triple10)] @1: Erin is cold.[(((triple2 triple1) -> rule6) OR ((triple2 triple3) -> rule1))] Fiona is round.[(((triple4 triple6) -> rule8) OR ((triple4 ((triple4) -> rule5)) -> rule8) OR ((((triple6) -> rule2) triple6) -> rule8) OR ((((triple7 triple8) -> rule7) triple6) -> rule8) OR ((((triple6) -> rule2) ((triple4) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((triple4) -> rule5)) -> rule8) OR ((triple4 ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple6) -> rule2) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8) OR ((((triple7 triple8) -> rule7) ((((triple7 triple8) -> rule7)) -> rule5)) -> rule8))] @2: Erin is green.[(((((triple2 triple1) -> rule6) triple3) -> rule4) OR ((((triple2 triple3) -> rule1) triple3) -> rule4))] @3: Erin is big.[(((((((triple2 triple1) -> rule6) triple3) -> rule4)) -> rule2) OR ((((((triple2 triple3) -> rule1) triple3) -> rule4)) -> rule2))]
Erin is nice.
("Erin" "is" "nice" "+")
triple1
Erin is red.
("Erin" "is" "red" "+")
triple2
Erin is round.
("Erin" "is" "round" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((triple6) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple7 triple8) -> (rule7 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
((triple4) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple7 triple8) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple7
Fiona is smart.
("Fiona" "is" "smart" "+")
triple8
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is nice.
("Gary" "is" "nice" "+")
triple10
Erin is cold.
("Erin" "is" "cold" "+")
((triple2 triple1) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple2 triple3) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple4 triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple4 ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple6) -> (rule2 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple7 triple8) -> (rule7 % int2)) triple6) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple6) -> (rule2 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((triple4) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((triple4 ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple6) -> (rule2 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
((((triple7 triple8) -> (rule7 % int3)) ((((triple7 triple8) -> (rule7 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
((((triple2 triple1) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple2 triple3) -> (rule1 % int2)) triple3) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((((triple2 triple1) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple2 triple3) -> (rule1 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3