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