Anne is furry. Anne is nice. Anne is rough. Anne is round. Bob is blue. Bob is red. Bob is round. Bob is white. Dave is red. Dave is round. Dave is white. Harry is furry. Harry is red. Harry is rough. Harry is white. Rough, round things are furry. If something is furry and white then it is nice. If something is round then it is rough.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
Rough, round things are furry.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
If something is furry and white then it is nice.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "nice" "+"))
If something is round then it is rough.
((("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
Harry is white.
True
1
proof
[(triple15)]
("Harry" "is" "white" "+")
triple15
Anne is not furry.
False
1
inv-proof
[(triple1 OR ((triple3 triple4) -> rule1) OR ((((triple4) -> rule3) triple4) -> rule1))]
("Anne" "is" "furry" "-")
triple1
((triple3 triple4) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple4) -> (rule3 % int2)) triple4) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Dave is rough.
True
2
proof
[(((triple10) -> rule3))]
("Dave" "is" "rough" "+")
((triple10) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not rough.
False
2
inv-proof
[(((triple10) -> rule3))]
("Dave" "is" "rough" "-")
((triple10) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Bob is furry.
True
4
proof
[(((((triple7) -> rule3) triple7) -> rule1))]
("Bob" "is" "furry" "+")
((((triple7) -> (rule3 % int2)) triple7) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Dave is not furry.
False
4
inv-proof
[(((((triple10) -> rule3) triple10) -> rule1))]
("Dave" "is" "furry" "-")
((((triple10) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Bob is nice.
True
6
proof
[(((((((triple7) -> rule3) triple7) -> rule1) triple8) -> rule2))]
("Bob" "is" "nice" "+")
((((((triple7) -> (rule3 % int3)) triple7) -> (rule1 % int2)) triple8) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is not nice.
False
6
inv-proof
[(((((((triple7) -> rule3) triple7) -> rule1) triple8) -> rule2))]
("Bob" "is" "nice" "-")
((((((triple7) -> (rule3 % int3)) triple7) -> (rule1 % int2)) triple8) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Anne is not blue.
Unknown
inv-random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
Anne is not white.
Unknown
inv-random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "-")
Harry is blue.
Unknown
random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "+")
Harry is not round.
Unknown
inv-random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is furry.[(triple1 OR ((triple3 triple4) -> rule1) OR ((((triple4) -> rule3) triple4) -> rule1))] Anne is nice.[(triple2)] Anne is rough.[(triple3 OR ((triple4) -> rule3))] Anne is round.[(triple4)] Bob is blue.[(triple5)] Bob is red.[(triple6)] Bob is round.[(triple7)] Bob is white.[(triple8)] Dave is red.[(triple9)] Dave is round.[(triple10)] Dave is white.[(triple11)] Harry is furry.[(triple12)] Harry is red.[(triple13)] Harry is rough.[(triple14)] Harry is white.[(triple15)] @1: Bob is rough.[(((triple7) -> rule3))] Dave is rough.[(((triple10) -> rule3))] Harry is nice.[(((triple12 triple15) -> rule2))] @2: Bob is furry.[(((((triple7) -> rule3) triple7) -> rule1))] Dave is furry.[(((((triple10) -> rule3) triple10) -> rule1))] @3: Bob is nice.[(((((((triple7) -> rule3) triple7) -> rule1) triple8) -> rule2))] Dave is nice.[(((((((triple10) -> rule3) triple10) -> rule1) triple11) -> rule2))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
((triple3 triple4) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple4) -> (rule3 % int2)) triple4) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple4) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple4
Bob is blue.
("Bob" "is" "blue" "+")
triple5
Bob is red.
("Bob" "is" "red" "+")
triple6
Bob is round.
("Bob" "is" "round" "+")
triple7
Bob is white.
("Bob" "is" "white" "+")
triple8
Dave is red.
("Dave" "is" "red" "+")
triple9
Dave is round.
("Dave" "is" "round" "+")
triple10
Dave is white.
("Dave" "is" "white" "+")
triple11
Harry is furry.
("Harry" "is" "furry" "+")
triple12
Harry is red.
("Harry" "is" "red" "+")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is white.
("Harry" "is" "white" "+")
triple15
Bob is rough.
("Bob" "is" "rough" "+")
((triple7) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple10) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple12 triple15) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((((triple7) -> (rule3 % int2)) triple7) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple10) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((((triple7) -> (rule3 % int3)) triple7) -> (rule1 % int2)) triple8) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
((((((triple10) -> (rule3 % int3)) triple10) -> (rule1 % int2)) triple11) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3