Anne is cold. Anne is green. Anne is young. Dave is cold. Dave is smart. Erin is blue. Erin is cold. Erin is green. Erin is nice. Erin is smart. Harry is cold. Harry is green. Nice people are blue. Young, smart people are cold. Cold people are white. Nice, smart people are young. If someone is cold and green then they are nice. All white, smart people are young. If someone is young and smart then they are blue. If someone is young and cold then they are white.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is young.
("Anne" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is smart.
("Dave" "is" "smart" "+")
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 smart.
("Erin" "is" "smart" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is green.
("Harry" "is" "green" "+")
Nice people are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
Young, smart people are cold.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
Cold people are white.
((("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
Nice, smart people are young.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
If someone is cold and green then they are nice.
((("someone" "is" "cold" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
All white, smart people are young.
((("someone" "is" "white" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
If someone is young and smart then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
If someone is young and cold then they are white.
((("someone" "is" "young" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "white" "+"))
Erin is blue.
True
1
proof
[(triple6 OR ((triple9) -> rule1) OR ((((triple7 triple8) -> rule5)) -> rule1) OR ((((triple9 triple10) -> rule4) triple10) -> rule7) OR ((((((triple7) -> rule3) triple10) -> rule6) triple10) -> rule7) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) triple10) -> rule7))]
("Erin" "is" "blue" "+")
triple6
((triple9) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple7 triple8) -> (rule5 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((triple9 triple10) -> (rule4 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple7) -> (rule3 % int3)) triple10) -> (rule6 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
((((((triple7 triple8) -> (rule5 % int3)) triple10) -> (rule4 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Anne is not cold.
False
1
inv-proof
[(triple1)]
("Anne" "is" "cold" "-")
triple1
Erin is white.
True
2
proof
[(((triple7) -> rule3) OR ((((triple9 triple10) -> rule4) triple7) -> rule8) OR ((((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule3) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) triple7) -> rule8) OR ((((triple9 triple10) -> rule4) ((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule8) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) ((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule8))]
("Erin" "is" "white" "+")
((triple7) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((((triple9 triple10) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple7 triple8) -> (rule5 % int3)) triple10) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((((triple9 triple10) -> (rule4 % int3)) ((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple7 triple8) -> (rule5 % int4)) triple10) -> (rule4 % int3)) ((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Harry is not nice.
False
3
inv-proof
[(((triple11 triple12) -> rule5))]
("Harry" "is" "nice" "-")
((triple11 triple12) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Anne is blue.
True
4
proof
[(((((triple1 triple2) -> rule5)) -> rule1))]
("Anne" "is" "blue" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Dave is not young.
False
4
inv-proof
[(((((triple4) -> rule3) triple5) -> rule6))]
("Dave" "is" "young" "-")
((((triple4) -> (rule3 % int2)) triple5) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is blue.
True
6
proof
[(((((((triple4) -> rule3) triple5) -> rule6) triple5) -> rule7))]
("Dave" "is" "blue" "+")
((((((triple4) -> (rule3 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule7 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is not blue.
False
6
inv-proof
[(((((((triple4) -> rule3) triple5) -> rule6) triple5) -> rule7))]
("Dave" "is" "blue" "-")
((((((triple4) -> (rule3 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule7 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is not nice.
Unknown
inv-rconc
[@1: Dave is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "nice" "-")
Harry is young.
Unknown
rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "young" "+")
Anne is not smart.
Unknown
inv-random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
@0: Anne is cold.[(triple1)] Anne is green.[(triple2)] Anne is young.[(triple3)] Dave is cold.[(triple4)] Dave is smart.[(triple5)] Erin is blue.[(triple6 OR ((triple9) -> rule1) OR ((((triple7 triple8) -> rule5)) -> rule1) OR ((((triple9 triple10) -> rule4) triple10) -> rule7) OR ((((((triple7) -> rule3) triple10) -> rule6) triple10) -> rule7) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) triple10) -> rule7))] Erin is cold.[(triple7 OR ((((triple9 triple10) -> rule4) triple10) -> rule2))] Erin is green.[(triple8)] Erin is nice.[(triple9 OR ((triple7 triple8) -> rule5))] Erin is smart.[(triple10)] Harry is cold.[(triple11)] Harry is green.[(triple12)] @1: Anne is nice.[(((triple1 triple2) -> rule5))] Anne is white.[(((triple1) -> rule3) OR ((triple3 triple1) -> rule8))] Dave is white.[(((triple4) -> rule3))] Erin is white.[(((triple7) -> rule3) OR ((((triple9 triple10) -> rule4) triple7) -> rule8) OR ((((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule3) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) triple7) -> rule8) OR ((((triple9 triple10) -> rule4) ((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule8) OR ((((((triple7 triple8) -> rule5) triple10) -> rule4) ((((triple9 triple10) -> rule4) triple10) -> rule2)) -> rule8))] Erin is young.[(((triple9 triple10) -> rule4) OR ((((triple7) -> rule3) triple10) -> rule6) OR ((((triple7 triple8) -> rule5) triple10) -> rule4))] Harry is nice.[(((triple11 triple12) -> rule5))] Harry is white.[(((triple11) -> rule3))] @2: Anne is blue.[(((((triple1 triple2) -> rule5)) -> rule1))] Dave is young.[(((((triple4) -> rule3) triple5) -> rule6))] Harry is blue.[(((((triple11 triple12) -> rule5)) -> rule1))] @3: Dave is blue.[(((((((triple4) -> rule3) triple5) -> rule6) triple5) -> rule7))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
((triple9) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple7 triple8) -> (rule5 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((triple9 triple10) -> (rule4 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple7) -> (rule3 % int3)) triple10) -> (rule6 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
((((((triple7 triple8) -> (rule5 % int3)) triple10) -> (rule4 % int2)) triple10) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
triple7
((((triple9 triple10) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
triple8
Erin is nice.
("Erin" "is" "nice" "+")
triple9
((triple7 triple8) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Harry is cold.
("Harry" "is" "cold" "+")
triple11
Harry is green.
("Harry" "is" "green" "+")
triple12
Anne is nice.
("Anne" "is" "nice" "+")
((triple1 triple2) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((triple1) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((triple3 triple1) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
((triple4) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple7) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((((triple9 triple10) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple7 triple8) -> (rule5 % int3)) triple10) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((((triple9 triple10) -> (rule4 % int3)) ((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((triple7 triple8) -> (rule5 % int4)) triple10) -> (rule4 % int3)) ((((triple9 triple10) -> (rule4 % int3)) triple10) -> (rule2 % int2))) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
((triple9 triple10) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple7) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
((((triple7 triple8) -> (rule5 % int2)) triple10) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
((triple11 triple12) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple11) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1 triple2) -> (rule5 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((((triple4) -> (rule3 % int2)) triple5) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple11 triple12) -> (rule5 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((((((triple4) -> (rule3 % int3)) triple5) -> (rule6 % int2)) triple5) -> (rule7 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3