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