Anne is cold. Anne is rough. Anne is young. Fiona is quiet. Fiona is red. Gary is quiet. Gary is young. Harry is green. Harry is red. Harry is young. All white people are green. All cold people are rough. If someone is green then they are quiet. All young, quiet people are cold. All young people are red. If Harry is rough then Harry is white. All white, rough people are young. If someone is red then they are green.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is young.
("Harry" "is" "young" "+")
All white people are green.
((("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
All cold people are rough.
((("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
If someone is green then they are quiet.
((("someone" "is" "green" "+")) -> ("someone" "is" "quiet" "+"))
All young, quiet people are cold.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "+"))
All young people are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If Harry is rough then Harry is white.
((("Harry" "is" "rough" "+")) -> ("Harry" "is" "white" "+"))
All white, rough people are young.
((("someone" "is" "white" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
If someone is red then they are green.
((("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
Anne is rough.
True
1
proof
[(triple2 OR ((triple1) -> rule2) OR ((((triple3 ((((((triple3) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))]
("Anne" "is" "rough" "+")
triple2
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple3 ((((((triple3) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Gary is not young.
False
1
inv-proof
[(triple7)]
("Gary" "is" "young" "-")
triple7
Anne is red.
True
2
proof
[(((triple3) -> rule5))]
("Anne" "is" "red" "+")
((triple3) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Harry is not quiet.
False
2
inv-proof
[(((triple8) -> rule3) OR ((((triple9) -> rule8)) -> rule3) OR ((((((triple10) -> rule5)) -> rule8)) -> rule3))]
("Harry" "is" "quiet" "-")
((triple8) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple9) -> (rule8 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
((((((triple10) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Gary is green.
True
3
proof
[(((((triple7) -> rule5)) -> rule8))]
("Gary" "is" "green" "+")
((((triple7) -> (rule5 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not green.
False
3
inv-proof
[(((((triple7) -> rule5)) -> rule8))]
("Gary" "is" "green" "-")
((((triple7) -> (rule5 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Harry is rough.
True
5
proof
[(((((triple10 ((triple8) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((triple9) -> rule8)) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((((triple10) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))]
("Harry" "is" "rough" "+")
((((triple10 ((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((triple10 ((((triple9) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((triple10 ((((((triple10) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Harry is not rough.
False
5
inv-proof
[(((((triple10 ((triple8) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((triple9) -> rule8)) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((((triple10) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))]
("Harry" "is" "rough" "-")
((((triple10 ((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((triple10 ((((triple9) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((triple10 ((((((triple10) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is rough.
Unknown
rconc
[@3: Fiona is rough.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule7 <- FAIL)]]
("Fiona" "is" "rough" "+")
Fiona is not cold.
Unknown
inv-rconc
[@2: Fiona is cold.[CWA. Example of deepest failure = (rule4 <- rule7 <- FAIL)]]
("Fiona" "is" "cold" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is cold.[(triple1 OR ((triple3 ((((((triple3) -> rule5)) -> rule8)) -> rule3)) -> rule4))] Anne is rough.[(triple2 OR ((triple1) -> rule2) OR ((((triple3 ((((((triple3) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))] Anne is young.[(triple3)] Fiona is quiet.[(triple4 OR ((((triple5) -> rule8)) -> rule3))] Fiona is red.[(triple5)] Gary is quiet.[(triple6 OR ((((((triple7) -> rule5)) -> rule8)) -> rule3))] Gary is young.[(triple7)] Harry is green.[(triple8 OR ((triple9) -> rule8) OR ((((triple10) -> rule5)) -> rule8))] Harry is red.[(triple9 OR ((triple10) -> rule5))] Harry is young.[(triple10)] @1: Anne is red.[(((triple3) -> rule5))] Fiona is green.[(((triple5) -> rule8))] Gary is cold.[(((triple7 triple6) -> rule4) OR ((triple7 ((((((triple7) -> rule5)) -> rule8)) -> rule3)) -> rule4))] Gary is red.[(((triple7) -> rule5))] Harry is quiet.[(((triple8) -> rule3) OR ((((triple9) -> rule8)) -> rule3) OR ((((((triple10) -> rule5)) -> rule8)) -> rule3))] @2: Anne is green.[(((((triple3) -> rule5)) -> rule8))] Gary is green.[(((((triple7) -> rule5)) -> rule8))] Gary is rough.[(((((triple7 triple6) -> rule4)) -> rule2) OR ((((triple7 ((((((triple7) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))] Harry is cold.[(((triple10 ((triple8) -> rule3)) -> rule4) OR ((triple10 ((((triple9) -> rule8)) -> rule3)) -> rule4) OR ((triple10 ((((((triple10) -> rule5)) -> rule8)) -> rule3)) -> rule4))] @3: Anne is quiet.[(((((((triple3) -> rule5)) -> rule8)) -> rule3))] Harry is rough.[(((((triple10 ((triple8) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((triple9) -> rule8)) -> rule3)) -> rule4)) -> rule2) OR ((((triple10 ((((((triple10) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2))] @4: Harry is white.[(((((((triple10 ((triple8) -> rule3)) -> rule4)) -> rule2)) -> rule6) OR ((((((triple10 ((((triple9) -> rule8)) -> rule3)) -> rule4)) -> rule2)) -> rule6) OR ((((((triple10 ((((((triple10) -> rule5)) -> rule8)) -> rule3)) -> rule4)) -> rule2)) -> rule6))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple3 ((((((triple3) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
triple2
((triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple3 ((((((triple3) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is young.
("Anne" "is" "young" "+")
triple3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
((((triple5) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Gary is quiet.
("Gary" "is" "quiet" "+")
triple6
((((((triple7) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
triple7
Harry is green.
("Harry" "is" "green" "+")
triple8
((triple9) -> (rule8 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule8 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
triple9
((triple10) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
triple10
Anne is red.
("Anne" "is" "red" "+")
((triple3) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple5) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple7 triple6) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((triple7 ((((((triple7) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
((triple7) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple8) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple9) -> (rule8 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
((((((triple10) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((((triple7) -> (rule5 % int2))) -> (rule8 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((((triple7 triple6) -> (rule4 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
((((triple7 ((((((triple7) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
Harry is cold.
("Harry" "is" "cold" "+")
((triple10 ((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
((triple10 ((((triple9) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((triple10 ((((((triple10) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
int4
Anne is quiet.
("Anne" "is" "quiet" "+")
((((((triple3) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
((((triple10 ((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((triple10 ((((triple9) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((triple10 ((((((triple10) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
int5
Harry is white.
("Harry" "is" "white" "+")
((((((triple10 ((triple8) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
((((((triple10 ((((triple9) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
((((((triple10 ((((((triple10) -> (rule5 % int6))) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
Harry is red.
("Harry" "is" "red" "+")
int6