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