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