Dave is kind. Dave is nice. Dave is round. Gary is furry. Gary is kind. Gary is nice. Gary is quiet. Gary is red. Gary is round. Gary is young. Kind things are furry. Round, furry things are quiet. If Gary is red and Gary is nice then Gary is kind. If Gary is furry then Gary is red. Kind things are nice. Red things are nice.
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is round.
("Dave" "is" "round" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is young.
("Gary" "is" "young" "+")
Kind things are furry.
((("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
Round, furry things are quiet.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
If Gary is red and Gary is nice then Gary is kind.
((("Gary" "is" "red" "+") ("Gary" "is" "nice" "+")) -> ("Gary" "is" "kind" "+"))
If Gary is furry then Gary is red.
((("Gary" "is" "furry" "+")) -> ("Gary" "is" "red" "+"))
Kind things are nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
Red things are nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
Dave is round.
True
1
proof
[(triple3)]
("Dave" "is" "round" "+")
triple3
Gary is not red.
False
1
inv-proof
[(triple8 OR ((triple4) -> rule4) OR ((((triple5) -> rule1)) -> rule4))]
("Gary" "is" "red" "-")
triple8
((triple4) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Dave is not young.
Unknown
inv-random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
@0: Dave is kind.[(triple1)] Dave is nice.[(triple2 OR ((triple1) -> rule5))] Dave is round.[(triple3)] Gary is furry.[(triple4 OR ((triple5) -> rule1) OR ((((triple8 triple6) -> rule3)) -> rule1) OR ((((triple8 ((triple8) -> rule6)) -> rule3)) -> rule1))] Gary is kind.[(triple5 OR ((triple8 triple6) -> rule3) OR ((triple8 ((triple8) -> rule6)) -> rule3) OR ((((triple4) -> rule4) triple6) -> rule3) OR ((((triple4) -> rule4) ((triple8) -> rule6)) -> rule3) OR ((triple8 ((((triple4) -> rule4)) -> rule6)) -> rule3) OR ((((triple4) -> rule4) ((((triple4) -> rule4)) -> rule6)) -> rule3))] Gary is nice.[(triple6 OR ((triple5) -> rule5) OR ((triple8) -> rule6) OR ((((triple4) -> rule4)) -> rule6) OR ((((((triple5) -> rule1)) -> rule4)) -> rule6))] Gary is quiet.[(triple7 OR ((triple9 triple4) -> rule2) OR ((triple9 ((triple5) -> rule1)) -> rule2) OR ((triple9 ((((triple8 triple6) -> rule3)) -> rule1)) -> rule2) OR ((triple9 ((((triple8 ((triple8) -> rule6)) -> rule3)) -> rule1)) -> rule2))] Gary is red.[(triple8 OR ((triple4) -> rule4) OR ((((triple5) -> rule1)) -> rule4))] Gary is round.[(triple9)] Gary is young.[(triple10)] @1: Dave is furry.[(((triple1) -> rule1))] @2: Dave is quiet.[(((triple3 ((triple1) -> rule1)) -> rule2))]
Dave is kind.
("Dave" "is" "kind" "+")
triple1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
((triple1) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple3
Gary is furry.
("Gary" "is" "furry" "+")
triple4
((triple5) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple8 triple6) -> (rule3 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple8 ((triple8) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
triple5
((triple8 triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple8 ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple4) -> (rule4 % int2)) triple6) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple4) -> (rule4 % int3)) ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((triple8 ((((triple4) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((triple4) -> (rule4 % int3)) ((((triple4) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
triple6
((triple5) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple8) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple4) -> (rule4 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((((triple5) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
((triple9 triple4) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((triple9 ((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((triple9 ((((triple8 triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
((triple9 ((((triple8 ((triple8) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
triple8
((triple4) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
Dave is furry.
("Dave" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple3 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2