Bob is cold. Bob is white. Dave is big. Dave is cold. Harry is cold. Harry is red. Harry is round. All white, round things are blue. If something is big then it is green. If something is blue then it is round. White things are blue. If something is cold and green then it is blue. If something is green then it is blue.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
All white, round things are blue.
((("something" "is" "white" "+") ("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If something is big then it is green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is blue then it is round.
((("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
White things are blue.
((("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If something is cold and green then it is blue.
((("something" "is" "cold" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
If something is green then it is blue.
((("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Dave is cold.
True
1
proof
[(triple4)]
("Dave" "is" "cold" "+")
triple4
Harry is not red.
False
1
inv-proof
[(triple6)]
("Harry" "is" "red" "-")
triple6
Bob is blue.
True
2
proof
[(((triple2) -> rule4))]
("Bob" "is" "blue" "+")
((triple2) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is not blue.
False
2
inv-proof
[(((triple2) -> rule4))]
("Bob" "is" "blue" "-")
((triple2) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
True
3
proof
[(((((triple2) -> rule4)) -> rule3))]
("Bob" "is" "round" "+")
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is not round.
False
3
inv-proof
[(((((triple2) -> rule4)) -> rule3))]
("Bob" "is" "round" "-")
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is round.
True
4
proof
[(((((((triple3) -> rule2)) -> rule6)) -> rule3) OR ((((triple4 ((triple3) -> rule2)) -> rule5)) -> rule3))]
("Dave" "is" "round" "+")
((((((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is not round.
False
4
inv-proof
[(((((((triple3) -> rule2)) -> rule6)) -> rule3) OR ((((triple4 ((triple3) -> rule2)) -> rule5)) -> rule3))]
("Dave" "is" "round" "-")
((((((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Harry is not blue.
Unknown
inv-rconc
[@2: Harry is blue.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Harry" "is" "blue" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "green" "+")
Bob is not green.
Unknown
inv-rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
@0: Bob is cold.[(triple1)] Bob is white.[(triple2)] Dave is big.[(triple3)] Dave is cold.[(triple4)] Harry is cold.[(triple5)] Harry is red.[(triple6)] Harry is round.[(triple7)] @1: Bob is blue.[(((triple2) -> rule4))] Dave is green.[(((triple3) -> rule2))] @2: Bob is round.[(((((triple2) -> rule4)) -> rule3))] Dave is blue.[(((((triple3) -> rule2)) -> rule6) OR ((triple4 ((triple3) -> rule2)) -> rule5))] @3: Dave is round.[(((((((triple3) -> rule2)) -> rule6)) -> rule3) OR ((((triple4 ((triple3) -> rule2)) -> rule5)) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is white.
("Bob" "is" "white" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Harry is cold.
("Harry" "is" "cold" "+")
triple5
Harry is red.
("Harry" "is" "red" "+")
triple6
Harry is round.
("Harry" "is" "round" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple3) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple2) -> (rule4 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
((triple4 ((triple3) -> (rule2 % int2))) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3