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