Anne is furry. Anne is kind. Anne is nice. Anne is red. Anne is rough. Anne is white. Anne is young. Charlie is kind. Charlie is nice. Charlie is rough. Charlie is white. Charlie is young. If Charlie is rough and Charlie is white then Charlie is young. If something is red and furry then it is young. All red, furry things are nice. If Anne is white and Anne is kind then Anne is nice. If Anne is kind and Anne is rough then Anne is red. All furry things are rough. If something is furry and young then it is kind. If Charlie is red then Charlie is kind.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
If Charlie is rough and Charlie is white then Charlie is young.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "white" "+")) -> ("Charlie" "is" "young" "+"))
If something is red and furry then it is young.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
All red, furry things are nice.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
If Anne is white and Anne is kind then Anne is nice.
((("Anne" "is" "white" "+") ("Anne" "is" "kind" "+")) -> ("Anne" "is" "nice" "+"))
If Anne is kind and Anne is rough then Anne is red.
((("Anne" "is" "kind" "+") ("Anne" "is" "rough" "+")) -> ("Anne" "is" "red" "+"))
All furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is furry and young then it is kind.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
If Charlie is red then Charlie is kind.
((("Charlie" "is" "red" "+")) -> ("Charlie" "is" "kind" "+"))
Anne is kind.
True
1
proof
[(triple2 OR ((triple1 triple7) -> rule7) OR ((triple1 ((triple4 triple1) -> rule2)) -> rule7))]
("Anne" "is" "kind" "+")
triple2
((triple1 triple7) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple1 ((triple4 triple1) -> (rule2 % int2))) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Charlie is not young.
False
1
inv-proof
[(triple12 OR ((triple10 triple11) -> rule1))]
("Charlie" "is" "young" "-")
triple12
((triple10 triple11) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
@0: Anne is furry.[(triple1)] Anne is kind.[(triple2 OR ((triple1 triple7) -> rule7) OR ((triple1 ((triple4 triple1) -> rule2)) -> rule7))] Anne is nice.[(triple3 OR ((triple4 triple1) -> rule3) OR ((triple6 triple2) -> rule4) OR ((triple6 ((triple1 triple7) -> rule7)) -> rule4) OR ((((triple2 triple5) -> rule5) triple1) -> rule3) OR ((triple6 ((triple1 ((triple4 triple1) -> rule2)) -> rule7)) -> rule4) OR ((((triple2 ((triple1) -> rule6)) -> rule5) triple1) -> rule3) OR ((((((triple1 triple7) -> rule7) triple5) -> rule5) triple1) -> rule3) OR ((((((triple1 triple7) -> rule7) ((triple1) -> rule6)) -> rule5) triple1) -> rule3))] Anne is red.[(triple4 OR ((triple2 triple5) -> rule5) OR ((triple2 ((triple1) -> rule6)) -> rule5) OR ((((triple1 triple7) -> rule7) triple5) -> rule5) OR ((((triple1 triple7) -> rule7) ((triple1) -> rule6)) -> rule5))] Anne is rough.[(triple5 OR ((triple1) -> rule6))] Anne is white.[(triple6)] Anne is young.[(triple7 OR ((triple4 triple1) -> rule2) OR ((((triple2 triple5) -> rule5) triple1) -> rule2) OR ((((triple2 ((triple1) -> rule6)) -> rule5) triple1) -> rule2))] Charlie is kind.[(triple8)] Charlie is nice.[(triple9)] Charlie is rough.[(triple10)] Charlie is white.[(triple11)] Charlie is young.[(triple12 OR ((triple10 triple11) -> rule1))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((triple1 triple7) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple1 ((triple4 triple1) -> (rule2 % int2))) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple3
((triple4 triple1) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple6 triple2) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple6 ((triple1 triple7) -> (rule7 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple2 triple5) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple6 ((triple1 ((triple4 triple1) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
((((triple2 ((triple1) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
((((((triple1 triple7) -> (rule7 % int3)) triple5) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
((((((triple1 triple7) -> (rule7 % int4)) ((triple1) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
triple4
((triple2 triple5) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 ((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple1 triple7) -> (rule7 % int2)) triple5) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple1 triple7) -> (rule7 % int3)) ((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple1) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
((triple4 triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((((triple2 triple5) -> (rule5 % int2)) triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple2 ((triple1) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple8
Charlie is nice.
("Charlie" "is" "nice" "+")
triple9
Charlie is rough.
("Charlie" "is" "rough" "+")
triple10
Charlie is white.
("Charlie" "is" "white" "+")
triple11
Charlie is young.
("Charlie" "is" "young" "+")
triple12
((triple10 triple11) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1