Charlie is not kind. Charlie is red. Charlie is rough. Charlie is round. Dave is kind. Dave is rough. Erin is furry. Erin is kind. Erin is red. Erin is not round. Gary is furry. Gary is green. Gary is nice. Gary is red. Gary is rough. Gary is round. If Gary is round and Gary is nice then Gary is red. If someone is nice then they are rough. If someone is rough then they are nice. If someone is rough then they are round. If someone is green and not nice then they are red. Red, round people are furry. If someone is kind and not green then they are furry. If Gary is red and Gary is not green then Gary is kind.
Charlie is not kind.
("Charlie" "is" "kind" "-")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is not round.
("Erin" "is" "round" "-")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
If Gary is round and Gary is nice then Gary is red.
((("Gary" "is" "round" "+") ("Gary" "is" "nice" "+")) -> ("Gary" "is" "red" "+"))
If someone is nice then they are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
If someone is rough then they are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is rough then they are round.
((("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If someone is green and not nice then they are red.
((("someone" "is" "green" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "red" "+"))
Red, round people are furry.
((("someone" "is" "red" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is kind and not green then they are furry.
((("someone" "is" "kind" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "furry" "+"))
If Gary is red and Gary is not green then Gary is kind.
((("Gary" "is" "red" "+") ("Gary" "is" "green" "~")) -> ("Gary" "is" "kind" "+"))
Erin is not round.
True
1
proof
[(triple10)]
("Erin" "is" "round" "-")
triple10
Dave is not kind.
False
1
inv-proof
[(triple5)]
("Dave" "is" "kind" "-")
triple5
Dave is round.
True
2
proof
[(((triple6) -> rule4))]
("Dave" "is" "round" "+")
((triple6) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Charlie is not furry.
False
3
inv-proof
[(((triple2 triple4) -> rule6) OR ((triple2 ((triple3) -> rule4)) -> rule6))]
("Charlie" "is" "furry" "-")
((triple2 triple4) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple2 ((triple3) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Erin is not nice.
Unknown
inv-rconc
[@2: Erin is nice.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Erin" "is" "nice" "-")
Dave is furry.
Unknown
rconc
[@2: Dave is furry.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("Dave" "is" "furry" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Charlie is not kind.[(triple1)] Charlie is red.[(triple2)] Charlie is rough.[(triple3)] Charlie is round.[(triple4 OR ((triple3) -> rule4))] Dave is kind.[(triple5)] Dave is rough.[(triple6)] Erin is furry.[(triple7)] Erin is kind.[(triple8)] Erin is not round.[(triple10)] Erin is red.[(triple9)] Gary is furry.[(triple11 OR ((triple14 triple16) -> rule6) OR ((triple14 ((triple15) -> rule4)) -> rule6) OR ((((triple16 triple13) -> rule1) triple16) -> rule6) OR ((((triple16 triple13) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((triple14 ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((triple16 ((triple15) -> rule3)) -> rule1) triple16) -> rule6) OR ((((((triple15) -> rule4) triple13) -> rule1) triple16) -> rule6) OR ((((triple16 triple13) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((triple16 ((triple15) -> rule3)) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((((((triple15) -> rule4) triple13) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((((((triple15) -> rule4) ((triple15) -> rule3)) -> rule1) triple16) -> rule6) OR ((((triple16 ((triple15) -> rule3)) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((((triple15) -> rule4) triple13) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((((triple15) -> rule4) ((triple15) -> rule3)) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((((((triple15) -> rule4) ((triple15) -> rule3)) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) triple13) -> rule1) triple16) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) triple13) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) ((triple15) -> rule3)) -> rule1) triple16) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) triple13) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) ((triple15) -> rule3)) -> rule1) ((triple15) -> rule4)) -> rule6) OR ((((((((triple13) -> rule2)) -> rule4) ((triple15) -> rule3)) -> rule1) ((((triple13) -> rule2)) -> rule4)) -> rule6))] Gary is green.[(triple12)] Gary is nice.[(triple13 OR ((triple15) -> rule3))] Gary is red.[(triple14 OR ((triple16 triple13) -> rule1) OR ((triple16 ((triple15) -> rule3)) -> rule1) OR ((((triple15) -> rule4) triple13) -> rule1) OR ((((triple15) -> rule4) ((triple15) -> rule3)) -> rule1) OR ((((((triple13) -> rule2)) -> rule4) triple13) -> rule1) OR ((((((triple13) -> rule2)) -> rule4) ((triple15) -> rule3)) -> rule1))] Gary is rough.[(triple15 OR ((triple13) -> rule2))] Gary is round.[(triple16 OR ((triple15) -> rule4) OR ((((triple13) -> rule2)) -> rule4))] @1: Charlie is furry.[(((triple2 triple4) -> rule6) OR ((triple2 ((triple3) -> rule4)) -> rule6))] Charlie is nice.[(((triple3) -> rule3))] Dave is nice.[(((triple6) -> rule3))] Dave is round.[(((triple6) -> rule4))]
Charlie is not kind.
("Charlie" "is" "kind" "-")
triple1
Charlie is red.
("Charlie" "is" "red" "+")
triple2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((triple3) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
triple8
Erin is not round.
("Erin" "is" "round" "-")
triple10
Erin is red.
("Erin" "is" "red" "+")
triple9
Gary is furry.
("Gary" "is" "furry" "+")
triple11
((triple14 triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple14 ((triple15) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple16 triple13) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple16 triple13) -> (rule1 % int3)) ((triple15) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((triple14 ((((triple13) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple16 ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
((((((triple15) -> (rule4 % int3)) triple13) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((triple16 triple13) -> (rule1 % int4)) ((((triple13) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((((triple16 ((triple15) -> (rule3 % int4))) -> (rule1 % int3)) ((triple15) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
((((((triple15) -> (rule4 % int3)) triple13) -> (rule1 % int2)) ((triple15) -> (rule4 % int3))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((((triple15) -> (rule4 % int4)) ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((triple16 ((triple15) -> (rule3 % int5))) -> (rule1 % int4)) ((((triple13) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
((((((triple15) -> (rule4 % int4)) triple13) -> (rule1 % int3)) ((((triple13) -> (rule2 % int2))) -> (rule4 % int4))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((((triple15) -> (rule4 % int4)) ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) ((triple15) -> (rule4 % int4))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((((triple15) -> (rule4 % int5)) ((triple15) -> (rule3 % int4))) -> (rule1 % int3)) ((((triple13) -> (rule2 % int2))) -> (rule4 % int5))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
int5
((((((((triple13) -> (rule2 % int4))) -> (rule4 % int3)) triple13) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple13) -> (rule2 % int4))) -> (rule4 % int3)) triple13) -> (rule1 % int2)) ((triple15) -> (rule4 % int3))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple13) -> (rule2 % int5))) -> (rule4 % int4)) ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) triple16) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
((((((((triple13) -> (rule2 % int4))) -> (rule4 % int3)) triple13) -> (rule1 % int2)) ((((triple13) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((((((triple13) -> (rule2 % int5))) -> (rule4 % int4)) ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) ((triple15) -> (rule4 % int4))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
((((((((triple13) -> (rule2 % int5))) -> (rule4 % int4)) ((triple15) -> (rule3 % int3))) -> (rule1 % int2)) ((((triple13) -> (rule2 % int5))) -> (rule4 % int4))) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Gary is green.
("Gary" "is" "green" "+")
triple12
Gary is nice.
("Gary" "is" "nice" "+")
triple13
((triple15) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple14
((triple16 triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple16 ((triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple15) -> (rule4 % int2)) triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple15) -> (rule4 % int3)) ((triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((((triple13) -> (rule2 % int3))) -> (rule4 % int2)) triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((((triple13) -> (rule2 % int4))) -> (rule4 % int3)) ((triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
triple15
((triple13) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple16
((triple15) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple13) -> (rule2 % int2))) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple2 triple4) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple2 ((triple3) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple3) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple6) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((triple6) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1