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