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