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