Charlie is blue. Charlie is green. Charlie is white. Dave is big. Dave is green. Dave is white. Gary is white. Green people are blue. All young, green people are blue. Big people are young. If someone is furry then they are quiet. If Gary is big and Gary is furry then Gary is white. All blue people are furry.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is white.
("Dave" "is" "white" "+")
Gary is white.
("Gary" "is" "white" "+")
Green people are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
All young, green people are blue.
((("someone" "is" "young" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
Big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is furry then they are quiet.
((("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If Gary is big and Gary is furry then Gary is white.
((("Gary" "is" "big" "+") ("Gary" "is" "furry" "+")) -> ("Gary" "is" "white" "+"))
All blue people are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
Charlie is white.
True
1
proof
[(triple3)]
("Charlie" "is" "white" "+")
triple3
Dave is not white.
False
1
inv-proof
[(triple6)]
("Dave" "is" "white" "-")
triple6
Charlie is furry.
True
2
proof
[(((triple1) -> rule6) OR ((((triple2) -> rule1)) -> rule6))]
("Charlie" "is" "furry" "+")
((triple1) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Dave is not blue.
False
2
inv-proof
[(((triple5) -> rule1) OR ((((triple4) -> rule3) triple5) -> rule2))]
("Dave" "is" "blue" "-")
((triple5) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple4) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is furry.
True
3
proof
[(((((triple5) -> rule1)) -> rule6) OR ((((((triple4) -> rule3) triple5) -> rule2)) -> rule6))]
("Dave" "is" "furry" "+")
((((triple5) -> (rule1 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple4) -> (rule3 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is not furry.
False
3
inv-proof
[(((((triple5) -> rule1)) -> rule6) OR ((((((triple4) -> rule3) triple5) -> rule2)) -> rule6))]
("Dave" "is" "furry" "-")
((((triple5) -> (rule1 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple4) -> (rule3 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is quiet.
True
4
proof
[(((((((triple5) -> rule1)) -> rule6)) -> rule4) OR ((((((((triple4) -> rule3) triple5) -> rule2)) -> rule6)) -> rule4))]
("Dave" "is" "quiet" "+")
((((((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((((triple4) -> (rule3 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is not quiet.
False
4
inv-proof
[(((((((triple5) -> rule1)) -> rule6)) -> rule4) OR ((((((((triple4) -> rule3) triple5) -> rule2)) -> rule6)) -> rule4))]
("Dave" "is" "quiet" "-")
((((((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((((triple4) -> (rule3 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Gary is not quiet.
Unknown
inv-rconc
[@3: Gary is quiet.[CWA. Example of deepest failure = (rule4 <- rule6 <- rule1 <- FAIL)]]
("Gary" "is" "quiet" "-")
Charlie is young.
Unknown
rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "young" "+")
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "blue" "-")
Gary is young.
Unknown
rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "young" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
@0: Charlie is blue.[(triple1 OR ((triple2) -> rule1))] Charlie is green.[(triple2)] Charlie is white.[(triple3)] Dave is big.[(triple4)] Dave is green.[(triple5)] Dave is white.[(triple6)] Gary is white.[(triple7)] @1: Charlie is furry.[(((triple1) -> rule6) OR ((((triple2) -> rule1)) -> rule6))] Dave is blue.[(((triple5) -> rule1) OR ((((triple4) -> rule3) triple5) -> rule2))] Dave is young.[(((triple4) -> rule3))] @2: Charlie is quiet.[(((((triple1) -> rule6)) -> rule4) OR ((((((triple2) -> rule1)) -> rule6)) -> rule4))] Dave is furry.[(((((triple5) -> rule1)) -> rule6) OR ((((((triple4) -> rule3) triple5) -> rule2)) -> rule6))] @3: Dave is quiet.[(((((((triple5) -> rule1)) -> rule6)) -> rule4) OR ((((((((triple4) -> rule3) triple5) -> rule2)) -> rule6)) -> rule4))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
((triple2) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Charlie is white.
("Charlie" "is" "white" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
Dave is green.
("Dave" "is" "green" "+")
triple5
Dave is white.
("Dave" "is" "white" "+")
triple6
Gary is white.
("Gary" "is" "white" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((triple5) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple4) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((triple4) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
((((triple5) -> (rule1 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple4) -> (rule3 % int3)) triple5) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((((((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((((triple4) -> (rule3 % int4)) triple5) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4