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