Anne is cold. Anne is kind. Anne is nice. Anne is quiet. Bob is smart. Charlie is kind. Harry is green. Harry is not nice. Harry is not quiet. Harry is smart. Cold things are green. Quiet things are kind. If something is green and smart then it is kind. If Bob is smart then Bob is quiet. If something is green and cold then it is smart. All green things are rough. If something is nice and kind then it is rough. Kind things are cold.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is not nice.
("Harry" "is" "nice" "-")
Harry is not quiet.
("Harry" "is" "quiet" "-")
Harry is smart.
("Harry" "is" "smart" "+")
Cold things are green.
((("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
Quiet things are kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
If something is green and smart then it is kind.
((("something" "is" "green" "+") ("something" "is" "smart" "+")) -> ("something" "is" "kind" "+"))
If Bob is smart then Bob is quiet.
((("Bob" "is" "smart" "+")) -> ("Bob" "is" "quiet" "+"))
If something is green and cold then it is smart.
((("something" "is" "green" "+") ("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
All green things are rough.
((("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If something is nice and kind then it is rough.
((("something" "is" "nice" "+") ("something" "is" "kind" "+")) -> ("something" "is" "rough" "+"))
Kind things are cold.
((("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
Harry is not quiet.
True
1
proof
[(triple9)]
("Harry" "is" "quiet" "-")
triple9
Harry is quiet.
False
1
inv-proof
[(triple9)]
("Harry" "is" "quiet" "+")
triple9
Anne is rough.
True
3
proof
[(((triple3 triple2) -> rule7) OR ((((triple1) -> rule1)) -> rule6) OR ((triple3 ((triple4) -> rule2)) -> rule7) OR ((((((triple2) -> rule8)) -> rule1)) -> rule6) OR ((((((((triple4) -> rule2)) -> rule8)) -> rule1)) -> rule6) OR ((triple3 ((((triple1) -> rule1) ((((triple1) -> rule1) triple1) -> rule5)) -> rule3)) -> rule7))]
("Anne" "is" "rough" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((triple3 ((triple4) -> (rule2 % int2))) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((((triple2) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((((((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
((triple3 ((((triple1) -> (rule1 % int4)) ((((triple1) -> (rule1 % int4)) triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Harry is not kind.
False
3
inv-proof
[(((triple7 triple10) -> rule3))]
("Harry" "is" "kind" "-")
((triple7 triple10) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is cold.
True
4
proof
[(((((triple7 triple10) -> rule3)) -> rule8))]
("Harry" "is" "cold" "+")
((((triple7 triple10) -> (rule3 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Bob is not kind.
False
3
inv-proof
[(((((triple5) -> rule4)) -> rule2))]
("Bob" "is" "kind" "-")
((((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is cold.
True
4
proof
[(((((((triple5) -> rule4)) -> rule2)) -> rule8))]
("Bob" "is" "cold" "+")
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Charlie is not rough.
False
4
inv-proof
[(((((((triple6) -> rule8)) -> rule1)) -> rule6))]
("Charlie" "is" "rough" "-")
((((((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Bob is green.
True
5
proof
[(((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1))]
("Bob" "is" "green" "+")
((((((((triple5) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is not green.
False
5
inv-proof
[(((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1))]
("Bob" "is" "green" "-")
((((((((triple5) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
True
6
proof
[(((((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1)) -> rule6))]
("Bob" "is" "rough" "+")
((((((((((triple5) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
int5
Bob is not rough.
False
6
inv-proof
[(((((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1)) -> rule6))]
("Bob" "is" "rough" "-")
((((((((((triple5) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
int5
Charlie is not nice.
Unknown
inv-random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Anne is cold.[(triple1 OR ((triple2) -> rule8) OR ((((triple4) -> rule2)) -> rule8))] Anne is kind.[(triple2 OR ((triple4) -> rule2) OR ((((triple1) -> rule1) ((((triple1) -> rule1) triple1) -> rule5)) -> rule3))] Anne is nice.[(triple3)] Anne is quiet.[(triple4)] Bob is smart.[(triple5)] Charlie is kind.[(triple6)] Harry is green.[(triple7)] Harry is not nice.[(triple8)] Harry is not quiet.[(triple9)] Harry is smart.[(triple10)] @1: Anne is green.[(((triple1) -> rule1) OR ((((triple2) -> rule8)) -> rule1) OR ((((((triple4) -> rule2)) -> rule8)) -> rule1))] Anne is rough.[(((triple3 triple2) -> rule7) OR ((((triple1) -> rule1)) -> rule6) OR ((triple3 ((triple4) -> rule2)) -> rule7) OR ((((((triple2) -> rule8)) -> rule1)) -> rule6) OR ((((((((triple4) -> rule2)) -> rule8)) -> rule1)) -> rule6) OR ((triple3 ((((triple1) -> rule1) ((((triple1) -> rule1) triple1) -> rule5)) -> rule3)) -> rule7))] Bob is quiet.[(((triple5) -> rule4))] Charlie is cold.[(((triple6) -> rule8))] Harry is kind.[(((triple7 triple10) -> rule3))] Harry is rough.[(((triple7) -> rule6))] @2: Anne is smart.[(((((triple1) -> rule1) triple1) -> rule5) OR ((((triple1) -> rule1) ((triple2) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule1) triple1) -> rule5) OR ((((triple1) -> rule1) ((((triple4) -> rule2)) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule1) ((triple2) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule1) ((((triple4) -> rule2)) -> rule8)) -> rule5) OR ((((((((triple4) -> rule2)) -> rule8)) -> rule1) triple1) -> rule5) OR ((((((((triple4) -> rule2)) -> rule8)) -> rule1) ((triple2) -> rule8)) -> rule5) OR ((((((((triple4) -> rule2)) -> rule8)) -> rule1) ((((triple4) -> rule2)) -> rule8)) -> rule5))] Bob is kind.[(((((triple5) -> rule4)) -> rule2))] Charlie is green.[(((((triple6) -> rule8)) -> rule1))] Harry is cold.[(((((triple7 triple10) -> rule3)) -> rule8))] @3: Bob is cold.[(((((((triple5) -> rule4)) -> rule2)) -> rule8))] Charlie is rough.[(((((((triple6) -> rule8)) -> rule1)) -> rule6))] Charlie is smart.[(((((((triple6) -> rule8)) -> rule1) ((triple6) -> rule8)) -> rule5))] @4: Bob is green.[(((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1))] @5: Bob is rough.[(((((((((((triple5) -> rule4)) -> rule2)) -> rule8)) -> rule1)) -> rule6))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple2) -> (rule8 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple4) -> (rule2 % int2))) -> (rule8 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((triple4) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple1) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Charlie is kind.
("Charlie" "is" "kind" "+")
triple6
Harry is green.
("Harry" "is" "green" "+")
triple7
Harry is not nice.
("Harry" "is" "nice" "-")
triple8
Harry is not quiet.
("Harry" "is" "quiet" "-")
triple9
Harry is smart.
("Harry" "is" "smart" "+")
triple10
Anne is green.
("Anne" "is" "green" "+")
((triple1) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple2) -> (rule8 % int2))) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((((triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
((triple3 triple2) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((triple3 ((triple4) -> (rule2 % int2))) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((((triple2) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((((((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
((triple3 ((((triple1) -> (rule1 % int4)) ((((triple1) -> (rule1 % int4)) triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple5) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple6) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple7 triple10) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple7) -> (rule6 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
((((triple1) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple1) -> (rule1 % int3)) ((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((triple2) -> (rule8 % int3))) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((((triple1) -> (rule1 % int4)) ((((triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple2) -> (rule8 % int3))) -> (rule1 % int2)) ((triple2) -> (rule8 % int3))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((((((triple2) -> (rule8 % int4))) -> (rule1 % int3)) ((((triple4) -> (rule2 % int2))) -> (rule8 % int4))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
((((((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
((((((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2)) ((triple2) -> (rule8 % int3))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
((((((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2)) ((((triple4) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
Bob is kind.
("Bob" "is" "kind" "+")
((((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((triple6) -> (rule8 % int2))) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((((triple7 triple10) -> (rule3 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
((((((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
((((((triple6) -> (rule8 % int3))) -> (rule1 % int2)) ((triple6) -> (rule8 % int3))) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
((((((((triple5) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
((((((((((triple5) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
int5