Bob is furry. Bob is red. Bob is rough. Bob is round. Bob is smart. Dave is furry. Dave is quiet. Dave is rough. Harry is cold. Harry is furry. Harry is quiet. Harry is smart. Red, smart people are rough. Smart people are round. All furry, round people are red. Cold, red people are rough. Quiet people are smart. If Bob is rough and Bob is cold then Bob is round.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Red, smart people are rough.
((("someone" "is" "red" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "rough" "+"))
Smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
All furry, round people are red.
((("someone" "is" "furry" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
Cold, red people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "rough" "+"))
Quiet people are smart.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
If Bob is rough and Bob is cold then Bob is round.
((("Bob" "is" "rough" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "round" "+"))
Bob is furry.
True
1
proof
[(triple1)]
("Bob" "is" "furry" "+")
triple1
Bob is not rough.
False
1
inv-proof
[(triple3 OR ((triple2 triple5) -> rule1) OR ((((triple1 triple4) -> rule3) triple5) -> rule1) OR ((((triple1 ((triple5) -> rule2)) -> rule3) triple5) -> rule1))]
("Bob" "is" "rough" "-")
triple3
((triple2 triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple1 triple4) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple1 ((triple5) -> (rule2 % int3))) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Harry is round.
True
2
proof
[(((triple12) -> rule2) OR ((((triple11) -> rule5)) -> rule2))]
("Harry" "is" "round" "+")
((triple12) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple11) -> (rule5 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is not round.
False
2
inv-proof
[(((triple12) -> rule2) OR ((((triple11) -> rule5)) -> rule2))]
("Harry" "is" "round" "-")
((triple12) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple11) -> (rule5 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Dave is round.
True
3
proof
[(((((triple7) -> rule5)) -> rule2))]
("Dave" "is" "round" "+")
((((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not round.
False
3
inv-proof
[(((((triple7) -> rule5)) -> rule2))]
("Dave" "is" "round" "-")
((((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Harry is rough.
True
6
proof
[(((triple9 ((triple10 ((triple12) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((triple12) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((triple12) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1) OR ((triple9 ((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1))]
("Harry" "is" "rough" "+")
((triple9 ((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int4))) -> (rule3 % int3)) ((triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((triple9 ((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple11) -> (rule5 % int4))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Harry is not rough.
False
6
inv-proof
[(((triple9 ((triple10 ((triple12) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((triple12) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((triple12) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1) OR ((triple9 ((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1))]
("Harry" "is" "rough" "-")
((triple9 ((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int4))) -> (rule3 % int3)) ((triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((triple9 ((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple11) -> (rule5 % int4))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Bob is quiet.
Unknown
random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "+")
@0: Bob is furry.[(triple1)] Bob is red.[(triple2 OR ((triple1 triple4) -> rule3) OR ((triple1 ((triple5) -> rule2)) -> rule3))] Bob is rough.[(triple3 OR ((triple2 triple5) -> rule1) OR ((((triple1 triple4) -> rule3) triple5) -> rule1) OR ((((triple1 ((triple5) -> rule2)) -> rule3) triple5) -> rule1))] Bob is round.[(triple4 OR ((triple5) -> rule2))] Bob is smart.[(triple5)] Dave is furry.[(triple6)] Dave is quiet.[(triple7)] Dave is rough.[(triple8 OR ((((triple6 ((((triple7) -> rule5)) -> rule2)) -> rule3) ((triple7) -> rule5)) -> rule1))] Harry is cold.[(triple9)] Harry is furry.[(triple10)] Harry is quiet.[(triple11)] Harry is smart.[(triple12 OR ((triple11) -> rule5))] @1: Dave is smart.[(((triple7) -> rule5))] Harry is round.[(((triple12) -> rule2) OR ((((triple11) -> rule5)) -> rule2))] @2: Dave is round.[(((((triple7) -> rule5)) -> rule2))] Harry is red.[(((triple10 ((triple12) -> rule2)) -> rule3) OR ((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3))] @3: Dave is red.[(((triple6 ((((triple7) -> rule5)) -> rule2)) -> rule3))] Harry is rough.[(((triple9 ((triple10 ((triple12) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((triple12) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((triple12) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1) OR ((triple9 ((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3)) -> rule4) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) triple12) -> rule1) OR ((((triple10 ((((triple11) -> rule5)) -> rule2)) -> rule3) ((triple11) -> rule5)) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
((triple1 triple4) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple1 ((triple5) -> (rule2 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
((triple2 triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple1 triple4) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple1 ((triple5) -> (rule2 % int3))) -> (rule3 % int2)) triple5) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple4
((triple5) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Dave is quiet.
("Dave" "is" "quiet" "+")
triple7
Dave is rough.
("Dave" "is" "rough" "+")
triple8
((((triple6 ((((triple7) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple7) -> (rule5 % int4))) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is quiet.
("Harry" "is" "quiet" "+")
triple11
Harry is smart.
("Harry" "is" "smart" "+")
triple12
((triple11) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple7) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple12) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple11) -> (rule5 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
((triple10 ((triple12) -> (rule2 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((triple10 ((((triple11) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
((triple6 ((((triple7) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
((triple9 ((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple10 ((triple12) -> (rule2 % int4))) -> (rule3 % int3)) ((triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((triple9 ((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) triple12) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple10 ((((triple11) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule3 % int2)) ((triple11) -> (rule5 % int4))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4