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