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