Anne is green. Anne is nice. Anne is rough. Anne is round. Dave is blue. Dave is nice. Dave is rough. Dave is round. Fiona is blue. Fiona is cold. Fiona is nice. Harry is blue. Harry is cold. Harry is nice. Harry is rough. Nice, blue things are cold. If something is big then it is cold. Round things are green. If Fiona is nice and Fiona is big then Fiona is blue. If something is green then it is cold. If something is rough then it is round. If Fiona is blue then Fiona is cold. Cold, rough things are blue.
Anne is green.
("Anne" "is" "green" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Nice, blue things are cold.
((("something" "is" "nice" "+") ("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
If something is big then it is cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
Round things are green.
((("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If Fiona is nice and Fiona is big then Fiona is blue.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "big" "+")) -> ("Fiona" "is" "blue" "+"))
If something is green then it is cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
If something is rough then it is round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
If Fiona is blue then Fiona is cold.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "cold" "+"))
Cold, rough things are blue.
((("something" "is" "cold" "+") ("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
Fiona is nice.
True
1
proof
[(triple11)]
("Fiona" "is" "nice" "+")
triple11
Fiona is not blue.
False
1
inv-proof
[(triple9)]
("Fiona" "is" "blue" "-")
triple9
Harry is round.
True
2
proof
[(((triple15) -> rule6))]
("Harry" "is" "round" "+")
((triple15) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Dave is not cold.
False
3
inv-proof
[(((triple6 triple5) -> rule1) OR ((((triple8) -> rule3)) -> rule5) OR ((((((triple7) -> rule6)) -> rule3)) -> rule5))]
("Dave" "is" "cold" "-")
((triple6 triple5) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Anne is blue.
True
4
proof
[(((((triple1) -> rule5) triple3) -> rule8) OR ((((((triple4) -> rule3)) -> rule5) triple3) -> rule8) OR ((((((((triple3) -> rule6)) -> rule3)) -> rule5) triple3) -> rule8))]
("Anne" "is" "blue" "+")
((((triple1) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((((triple3) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Anne is not blue.
False
4
inv-proof
[(((((triple1) -> rule5) triple3) -> rule8) OR ((((((triple4) -> rule3)) -> rule5) triple3) -> rule8) OR ((((((((triple3) -> rule6)) -> rule3)) -> rule5) triple3) -> rule8))]
("Anne" "is" "blue" "-")
((((triple1) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((((triple3) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Fiona is not green.
Unknown
inv-rconc
[@2: Fiona is green.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("Fiona" "is" "green" "-")
Fiona is round.
Unknown
rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
Fiona is not big.
Unknown
inv-random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Anne is green.[(triple1 OR ((triple4) -> rule3) OR ((((triple3) -> rule6)) -> rule3))] Anne is nice.[(triple2)] Anne is rough.[(triple3)] Anne is round.[(triple4 OR ((triple3) -> rule6))] Dave is blue.[(triple5 OR ((((((triple8) -> rule3)) -> rule5) triple7) -> rule8) OR ((((((((triple7) -> rule6)) -> rule3)) -> rule5) triple7) -> rule8))] Dave is nice.[(triple6)] Dave is rough.[(triple7)] Dave is round.[(triple8 OR ((triple7) -> rule6))] Fiona is blue.[(triple9)] Fiona is cold.[(triple10 OR ((triple9) -> rule7) OR ((triple11 triple9) -> rule1))] Fiona is nice.[(triple11)] Harry is blue.[(triple12 OR ((triple13 triple15) -> rule8) OR ((((((((triple15) -> rule6)) -> rule3)) -> rule5) triple15) -> rule8))] Harry is cold.[(triple13 OR ((triple14 triple12) -> rule1) OR ((((((triple15) -> rule6)) -> rule3)) -> rule5))] Harry is nice.[(triple14)] Harry is rough.[(triple15)] @1: Anne is cold.[(((triple1) -> rule5) OR ((((triple4) -> rule3)) -> rule5) OR ((((((triple3) -> rule6)) -> rule3)) -> rule5))] Dave is cold.[(((triple6 triple5) -> rule1) OR ((((triple8) -> rule3)) -> rule5) OR ((((((triple7) -> rule6)) -> rule3)) -> rule5))] Dave is green.[(((triple8) -> rule3) OR ((((triple7) -> rule6)) -> rule3))] Harry is round.[(((triple15) -> rule6))] @2: Anne is blue.[(((((triple1) -> rule5) triple3) -> rule8) OR ((((((triple4) -> rule3)) -> rule5) triple3) -> rule8) OR ((((((((triple3) -> rule6)) -> rule3)) -> rule5) triple3) -> rule8))] Harry is green.[(((((triple15) -> rule6)) -> rule3))]
Anne is green.
("Anne" "is" "green" "+")
triple1
((triple4) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Anne is round.
("Anne" "is" "round" "+")
triple4
((triple3) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple5
((((((triple8) -> (rule3 % int3))) -> (rule5 % int2)) triple7) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((((((triple7) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2)) triple7) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is rough.
("Dave" "is" "rough" "+")
triple7
Dave is round.
("Dave" "is" "round" "+")
triple8
((triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
((triple9) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple11 triple9) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
Harry is blue.
("Harry" "is" "blue" "+")
triple12
((triple13 triple15) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((((((triple15) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2)) triple15) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
triple13
((triple14 triple12) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((((triple15) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple14
Harry is rough.
("Harry" "is" "rough" "+")
triple15
Anne is cold.
("Anne" "is" "cold" "+")
((triple1) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((((triple3) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
((triple6 triple5) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((((((triple7) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((triple8) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple7) -> (rule6 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((triple15) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((((triple4) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((((triple3) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2)) triple3) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is round.
("Anne" "is" "round" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
((((triple15) -> (rule6 % int2))) -> (rule3 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2