Bob is blue. Bob is cold. Bob is quiet. Bob is round. Bob is white. Bob is young. Dave is cold. Dave is quiet. Dave is white. Fiona is big. Fiona is blue. Fiona is cold. If Dave is quiet and Dave is young then Dave is white. Quiet, round things are white. Cold things are quiet. If something is round then it is young. Quiet things are white. All quiet, cold things are round.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
If Dave is quiet and Dave is young then Dave is white.
((("Dave" "is" "quiet" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "white" "+"))
Quiet, round things are white.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "white" "+"))
Cold things are quiet.
((("something" "is" "cold" "+")) -> ("something" "is" "quiet" "+"))
If something is round then it is young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
Quiet things are white.
((("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
All quiet, cold things are round.
((("something" "is" "quiet" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
Bob is white.
True
1
proof
[(triple5 OR ((triple3) -> rule5) OR ((triple3 triple4) -> rule2) OR ((((triple2) -> rule3)) -> rule5) OR ((triple3 ((triple3 triple2) -> rule6)) -> rule2) OR ((((triple2) -> rule3) triple4) -> rule2) OR ((((triple2) -> rule3) ((triple3 triple2) -> rule6)) -> rule2) OR ((triple3 ((((triple2) -> rule3) triple2) -> rule6)) -> rule2) OR ((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule2))]
("Bob" "is" "white" "+")
triple5
((triple3) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple3 triple4) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((triple3 ((triple3 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple2) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2) -> (rule3 % int3)) ((triple3 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((triple3 ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((triple2) -> (rule3 % int3)) ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is not quiet.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule3))]
("Bob" "is" "quiet" "-")
triple3
((triple2) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Dave is round.
True
3
proof
[(((triple8 triple7) -> rule6) OR ((((triple7) -> rule3) triple7) -> rule6))]
("Dave" "is" "round" "+")
((triple8 triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple7) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not round.
False
3
inv-proof
[(((triple8 triple7) -> rule6) OR ((((triple7) -> rule3) triple7) -> rule6))]
("Dave" "is" "round" "-")
((triple8 triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple7) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Fiona is round.
True
4
proof
[(((((triple12) -> rule3) triple12) -> rule6))]
("Fiona" "is" "round" "+")
((((triple12) -> (rule3 % int2)) triple12) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Dave is not young.
False
4
inv-proof
[(((((triple8 triple7) -> rule6)) -> rule4) OR ((((((triple7) -> rule3) triple7) -> rule6)) -> rule4))]
("Dave" "is" "young" "-")
((((triple8 triple7) -> (rule6 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple7) -> (rule3 % int3)) triple7) -> (rule6 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2)] Bob is quiet.[(triple3 OR ((triple2) -> rule3))] Bob is round.[(triple4 OR ((triple3 triple2) -> rule6) OR ((((triple2) -> rule3) triple2) -> rule6))] Bob is white.[(triple5 OR ((triple3) -> rule5) OR ((triple3 triple4) -> rule2) OR ((((triple2) -> rule3)) -> rule5) OR ((triple3 ((triple3 triple2) -> rule6)) -> rule2) OR ((((triple2) -> rule3) triple4) -> rule2) OR ((((triple2) -> rule3) ((triple3 triple2) -> rule6)) -> rule2) OR ((triple3 ((((triple2) -> rule3) triple2) -> rule6)) -> rule2) OR ((((triple2) -> rule3) ((((triple2) -> rule3) triple2) -> rule6)) -> rule2))] Bob is young.[(triple6 OR ((triple4) -> rule4) OR ((((triple3 triple2) -> rule6)) -> rule4) OR ((((((triple2) -> rule3) triple2) -> rule6)) -> rule4))] Dave is cold.[(triple7)] Dave is quiet.[(triple8 OR ((triple7) -> rule3))] Dave is white.[(triple9 OR ((triple8) -> rule5) OR ((((triple7) -> rule3)) -> rule5) OR ((triple8 ((triple8 triple7) -> rule6)) -> rule2) OR ((((triple7) -> rule3) ((triple8 triple7) -> rule6)) -> rule2) OR ((triple8 ((((triple8 triple7) -> rule6)) -> rule4)) -> rule1) OR ((triple8 ((((triple7) -> rule3) triple7) -> rule6)) -> rule2) OR ((((triple7) -> rule3) ((((triple8 triple7) -> rule6)) -> rule4)) -> rule1) OR ((((triple7) -> rule3) ((((triple7) -> rule3) triple7) -> rule6)) -> rule2) OR ((triple8 ((((((triple7) -> rule3) triple7) -> rule6)) -> rule4)) -> rule1) OR ((((triple7) -> rule3) ((((((triple7) -> rule3) triple7) -> rule6)) -> rule4)) -> rule1))] Fiona is big.[(triple10)] Fiona is blue.[(triple11)] Fiona is cold.[(triple12)] @1: Dave is round.[(((triple8 triple7) -> rule6) OR ((((triple7) -> rule3) triple7) -> rule6))] Fiona is quiet.[(((triple12) -> rule3))] @2: Dave is young.[(((((triple8 triple7) -> rule6)) -> rule4) OR ((((((triple7) -> rule3) triple7) -> rule6)) -> rule4))] Fiona is round.[(((((triple12) -> rule3) triple12) -> rule6))] Fiona is white.[(((((triple12) -> rule3)) -> rule5) OR ((((triple12) -> rule3) ((((triple12) -> rule3) triple12) -> rule6)) -> rule2))] @3: Fiona is young.[(((((((triple12) -> rule3) triple12) -> rule6)) -> rule4))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple2) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
triple4
((triple3 triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple2) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple5
((triple3) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple3 triple4) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((triple3 ((triple3 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple2) -> (rule3 % int2)) triple4) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2) -> (rule3 % int3)) ((triple3 triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((triple3 ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((triple2) -> (rule3 % int3)) ((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple3 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((((triple2) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
((triple7) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
triple9
((triple8) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((triple8 ((triple8 triple7) -> (rule6 % int2))) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple7) -> (rule3 % int3)) ((triple8 triple7) -> (rule6 % int2))) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
((triple8 ((((triple8 triple7) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((triple8 ((((triple7) -> (rule3 % int3)) triple7) -> (rule6 % int2))) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
((((triple7) -> (rule3 % int4)) ((((triple8 triple7) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
((((triple7) -> (rule3 % int3)) ((((triple7) -> (rule3 % int3)) triple7) -> (rule6 % int2))) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
((triple8 ((((((triple7) -> (rule3 % int4)) triple7) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
((((triple7) -> (rule3 % int4)) ((((((triple7) -> (rule3 % int4)) triple7) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
triple11
Fiona is cold.
("Fiona" "is" "cold" "+")
triple12
Dave is round.
("Dave" "is" "round" "+")
((triple8 triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple7) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple12) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((((triple8 triple7) -> (rule6 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple7) -> (rule3 % int3)) triple7) -> (rule6 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((((triple12) -> (rule3 % int2)) triple12) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((((triple12) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple12) -> (rule3 % int3)) ((((triple12) -> (rule3 % int3)) triple12) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((((((triple12) -> (rule3 % int3)) triple12) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3