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