Anne is big. Anne is blue. Anne is cold. Anne is green. Anne is red. Anne is young. Charlie is cold. Charlie is quiet. Charlie is young. Fiona is big. Fiona is blue. Fiona is cold. Fiona is quiet. Gary is big. Gary is red. If something is big and red then it is blue. If something is green and red then it is big. Young things are green. Blue, young things are big. If something is young then it is quiet. If Gary is young and Gary is red then Gary is blue. If something is young then it is red. If something is cold then it is red.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is red.
("Gary" "is" "red" "+")
If something is big and red then it is blue.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
If something is green and red then it is big.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
Young things are green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Blue, young things are big.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is young then it is quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If Gary is young and Gary is red then Gary is blue.
((("Gary" "is" "young" "+") ("Gary" "is" "red" "+")) -> ("Gary" "is" "blue" "+"))
If something is young then it is red.
((("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If something is cold then it is red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Anne is young.
True
1
proof
[(triple6)]
("Anne" "is" "young" "+")
triple6
Fiona is not blue.
False
1
inv-proof
[(triple11 OR ((triple10 ((triple12) -> rule8)) -> rule1))]
("Fiona" "is" "blue" "-")
triple11
((triple10 ((triple12) -> (rule8 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is not quiet.
Unknown
inv-rconc
[@1: Gary is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "quiet" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
@0: Anne is big.[(triple1 OR ((triple2 triple6) -> rule4) OR ((triple4 triple5) -> rule2) OR ((triple4 ((triple3) -> rule8)) -> rule2) OR ((triple4 ((triple6) -> rule7)) -> rule2) OR ((((triple6) -> rule3) triple5) -> rule2) OR ((((triple6) -> rule3) ((triple3) -> rule8)) -> rule2) OR ((((triple6) -> rule3) ((triple6) -> rule7)) -> rule2))] Anne is blue.[(triple2 OR ((triple1 triple5) -> rule1) OR ((triple1 ((triple3) -> rule8)) -> rule1) OR ((triple1 ((triple6) -> rule7)) -> rule1) OR ((((triple4 triple5) -> rule2) triple5) -> rule1) OR ((((triple4 triple5) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((triple4 triple5) -> rule2) ((triple6) -> rule7)) -> rule1) OR ((((triple4 ((triple3) -> rule8)) -> rule2) triple5) -> rule1) OR ((((triple4 ((triple6) -> rule7)) -> rule2) triple5) -> rule1) OR ((((((triple6) -> rule3) triple5) -> rule2) triple5) -> rule1) OR ((((triple4 ((triple3) -> rule8)) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((triple4 ((triple3) -> rule8)) -> rule2) ((triple6) -> rule7)) -> rule1) OR ((((triple4 ((triple6) -> rule7)) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((triple4 ((triple6) -> rule7)) -> rule2) ((triple6) -> rule7)) -> rule1) OR ((((((triple6) -> rule3) triple5) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((((triple6) -> rule3) triple5) -> rule2) ((triple6) -> rule7)) -> rule1) OR ((((((triple6) -> rule3) ((triple3) -> rule8)) -> rule2) triple5) -> rule1) OR ((((((triple6) -> rule3) ((triple6) -> rule7)) -> rule2) triple5) -> rule1) OR ((((((triple6) -> rule3) ((triple3) -> rule8)) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((((triple6) -> rule3) ((triple3) -> rule8)) -> rule2) ((triple6) -> rule7)) -> rule1) OR ((((((triple6) -> rule3) ((triple6) -> rule7)) -> rule2) ((triple3) -> rule8)) -> rule1) OR ((((((triple6) -> rule3) ((triple6) -> rule7)) -> rule2) ((triple6) -> rule7)) -> rule1))] Anne is cold.[(triple3)] Anne is green.[(triple4 OR ((triple6) -> rule3))] Anne is red.[(triple5 OR ((triple3) -> rule8) OR ((triple6) -> rule7))] Anne is young.[(triple6)] Charlie is cold.[(triple7)] Charlie is quiet.[(triple8 OR ((triple9) -> rule5))] Charlie is young.[(triple9)] Fiona is big.[(triple10)] Fiona is blue.[(triple11 OR ((triple10 ((triple12) -> rule8)) -> rule1))] Fiona is cold.[(triple12)] Fiona is quiet.[(triple13)] Gary is big.[(triple14)] Gary is red.[(triple15)] @1: Anne is quiet.[(((triple6) -> rule5))] Charlie is green.[(((triple9) -> rule3))] Charlie is red.[(((triple7) -> rule8) OR ((triple9) -> rule7))] Fiona is red.[(((triple12) -> rule8))] Gary is blue.[(((triple14 triple15) -> rule1))] @2: Charlie is big.[(((((triple9) -> rule3) ((triple7) -> rule8)) -> rule2) OR ((((triple9) -> rule3) ((triple9) -> rule7)) -> rule2))] @3: Charlie is blue.[(((((((triple9) -> rule3) ((triple7) -> rule8)) -> rule2) ((triple7) -> rule8)) -> rule1) OR ((((((triple9) -> rule3) ((triple7) -> rule8)) -> rule2) ((triple9) -> rule7)) -> rule1) OR ((((((triple9) -> rule3) ((triple9) -> rule7)) -> rule2) ((triple7) -> rule8)) -> rule1) OR ((((((triple9) -> rule3) ((triple9) -> rule7)) -> rule2) ((triple9) -> rule7)) -> rule1))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple2 triple6) -> (rule4 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple4 triple5) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
((triple4 ((triple3) -> (rule8 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple4 ((triple6) -> (rule7 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple6) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple3) -> (rule8 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((triple6) -> (rule3 % int3)) ((triple6) -> (rule7 % int2))) -> (rule2 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
triple2
((triple1 triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple1 ((triple3) -> (rule8 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple1 ((triple6) -> (rule7 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple4 triple5) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
((((triple4 triple5) -> (rule2 % int3)) ((triple3) -> (rule8 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
((((triple4 triple5) -> (rule2 % int3)) ((triple6) -> (rule7 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
((((triple4 ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple4 ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((((triple6) -> (rule3 % int3)) triple5) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((triple4 ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) ((triple3) -> (rule8 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple4 ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) ((triple6) -> (rule7 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple4 ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) ((triple3) -> (rule8 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple4 ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) ((triple6) -> (rule7 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((((triple6) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((triple3) -> (rule8 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) triple5) -> (rule2 % int3)) ((triple6) -> (rule7 % int2))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) triple5) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) ((triple3) -> (rule8 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple3) -> (rule8 % int3))) -> (rule2 % int2)) ((triple6) -> (rule7 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) ((triple3) -> (rule8 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple6) -> (rule3 % int4)) ((triple6) -> (rule7 % int3))) -> (rule2 % int2)) ((triple6) -> (rule7 % int3))) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is cold.
("Anne" "is" "cold" "+")
triple3
Anne is green.
("Anne" "is" "green" "+")
triple4
((triple6) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
triple5
((triple3) -> (rule8 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple6) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple6
Charlie is cold.
("Charlie" "is" "cold" "+")
triple7
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple8
((triple9) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Fiona is big.
("Fiona" "is" "big" "+")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
triple11
((triple10 ((triple12) -> (rule8 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple12
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple13
Gary is big.
("Gary" "is" "big" "+")
triple14
Gary is red.
("Gary" "is" "red" "+")
triple15
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple6) -> (rule5 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple9) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple7) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple9) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple12) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple14 triple15) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((((triple9) -> (rule3 % int3)) ((triple7) -> (rule8 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((triple9) -> (rule3 % int3)) ((triple9) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((((((triple9) -> (rule3 % int4)) ((triple7) -> (rule8 % int3))) -> (rule2 % int2)) ((triple7) -> (rule8 % int3))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
((((((triple9) -> (rule3 % int4)) ((triple7) -> (rule8 % int3))) -> (rule2 % int2)) ((triple9) -> (rule7 % int3))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
((((((triple9) -> (rule3 % int4)) ((triple9) -> (rule7 % int3))) -> (rule2 % int2)) ((triple7) -> (rule8 % int3))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
((((((triple9) -> (rule3 % int4)) ((triple9) -> (rule7 % int3))) -> (rule2 % int2)) ((triple9) -> (rule7 % int3))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4