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