Anne is cold. Anne is nice. Anne is red. Anne is white. Dave is blue. Dave is cold. Dave is green. Erin is green. Harry is blue. Harry is cold. Harry is green. Harry is nice. If Dave is nice and Dave is round then Dave is red. If something is green then it is white. If something is blue and cold then it is green. All white, round things are green. All white, nice things are blue. Red things are nice. If something is white and cold then it is red. Green, red things are blue.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is white.
("Anne" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Erin is green.
("Erin" "is" "green" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is nice.
("Harry" "is" "nice" "+")
If Dave is nice and Dave is round then Dave is red.
((("Dave" "is" "nice" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "red" "+"))
If something is green then it is white.
((("something" "is" "green" "+")) -> ("something" "is" "white" "+"))
If something is blue and cold then it is green.
((("something" "is" "blue" "+") ("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
All white, round things are green.
((("something" "is" "white" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
All white, nice things are blue.
((("something" "is" "white" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
Red things are nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is white and cold then it is red.
((("something" "is" "white" "+") ("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Green, red things are blue.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Anne is cold.
True
1
proof
[(triple1)]
("Anne" "is" "cold" "+")
triple1
Dave is not cold.
False
1
inv-proof
[(triple6)]
("Dave" "is" "cold" "-")
triple6
Erin is white.
True
2
proof
[(((triple8) -> rule2))]
("Erin" "is" "white" "+")
((triple8) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Harry is not white.
False
2
inv-proof
[(((triple11) -> rule2) OR ((((triple9 triple10) -> rule3)) -> rule2))]
("Harry" "is" "white" "-")
((triple11) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple9 triple10) -> (rule3 % int2))) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Erin is not red.
Unknown
inv-rconc
[@1: Erin is red.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Erin" "is" "red" "-")
Erin is nice.
Unknown
rconc
[@2: Erin is nice.[CWA. Example of deepest failure = (rule6 <- rule7 <- FAIL)]]
("Erin" "is" "nice" "+")
Harry is not round.
Unknown
inv-random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
@0: Anne is cold.[(triple1)] Anne is nice.[(triple2 OR ((triple3) -> rule6) OR ((((triple4 triple1) -> rule7)) -> rule6))] Anne is red.[(triple3 OR ((triple4 triple1) -> rule7))] Anne is white.[(triple4)] Dave is blue.[(triple5 OR ((triple7 ((((triple7) -> rule2) triple6) -> rule7)) -> rule8) OR ((((triple7) -> rule2) ((((((triple7) -> rule2) triple6) -> rule7)) -> rule6)) -> rule5))] Dave is cold.[(triple6)] Dave is green.[(triple7 OR ((triple5 triple6) -> rule3))] Erin is green.[(triple8)] Harry is blue.[(triple9 OR ((((triple11) -> rule2) triple12) -> rule5) OR ((triple11 ((((triple11) -> rule2) triple10) -> rule7)) -> rule8) OR ((((triple11) -> rule2) ((((((triple11) -> rule2) triple10) -> rule7)) -> rule6)) -> rule5))] Harry is cold.[(triple10)] Harry is green.[(triple11 OR ((triple9 triple10) -> rule3))] Harry is nice.[(triple12 OR ((((((triple11) -> rule2) triple10) -> rule7)) -> rule6) OR ((((((((triple9 triple10) -> rule3)) -> rule2) triple10) -> rule7)) -> rule6))] @1: Anne is blue.[(((triple4 triple2) -> rule5) OR ((triple4 ((triple3) -> rule6)) -> rule5) OR ((triple4 ((((triple4 triple1) -> rule7)) -> rule6)) -> rule5))] Dave is white.[(((triple7) -> rule2) OR ((((triple5 triple6) -> rule3)) -> rule2))] Erin is white.[(((triple8) -> rule2))] Harry is white.[(((triple11) -> rule2) OR ((((triple9 triple10) -> rule3)) -> rule2))] @2: Anne is green.[(((((triple4 triple2) -> rule5) triple1) -> rule3) OR ((((triple4 ((triple3) -> rule6)) -> rule5) triple1) -> rule3) OR ((((triple4 ((((triple4 triple1) -> rule7)) -> rule6)) -> rule5) triple1) -> rule3))] Dave is red.[(((((triple7) -> rule2) triple6) -> rule7) OR ((((((triple5 triple6) -> rule3)) -> rule2) triple6) -> rule7))] Harry is red.[(((((triple11) -> rule2) triple10) -> rule7) OR ((((((triple9 triple10) -> rule3)) -> rule2) triple10) -> rule7))] @3: Dave is nice.[(((((((triple7) -> rule2) triple6) -> rule7)) -> rule6) OR ((((((((triple5 triple6) -> rule3)) -> rule2) triple6) -> rule7)) -> rule6))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple3) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple4 triple1) -> (rule7 % int2))) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple3
((triple4 triple1) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((triple7 ((((triple7) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((triple7) -> (rule2 % int4)) ((((((triple7) -> (rule2 % int4)) triple6) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is green.
("Dave" "is" "green" "+")
triple7
((triple5 triple6) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
((((triple11) -> (rule2 % int2)) triple12) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((triple11 ((((triple11) -> (rule2 % int3)) triple10) -> (rule7 % int2))) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((triple11) -> (rule2 % int4)) ((((((triple11) -> (rule2 % int4)) triple10) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
triple10
Harry is green.
("Harry" "is" "green" "+")
triple11
((triple9 triple10) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple12
((((((triple11) -> (rule2 % int3)) triple10) -> (rule7 % int2))) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((((((triple9 triple10) -> (rule3 % int4))) -> (rule2 % int3)) triple10) -> (rule7 % int2))) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Anne is blue.
("Anne" "is" "blue" "+")
((triple4 triple2) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple4 ((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((triple4 ((((triple4 triple1) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
((triple7) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple5 triple6) -> (rule3 % int2))) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((triple8) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple11) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple9 triple10) -> (rule3 % int2))) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
((((triple4 triple2) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple4 ((triple3) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((triple4 ((((triple4 triple1) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
((((triple7) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((((((triple5 triple6) -> (rule3 % int3))) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((triple11) -> (rule2 % int2)) triple10) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((((triple9 triple10) -> (rule3 % int3))) -> (rule2 % int2)) triple10) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
((((((triple7) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((((triple5 triple6) -> (rule3 % int4))) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4