Bob is round. Dave is green. If something is green and blue then it is not white. If Dave is white and Dave is blue then Dave is green. If something is round and not kind then it is blue. If Bob is green then Bob is blue. If Bob is red then Bob is not nice. Round things are green. If Dave is white and Dave is round then Dave is nice. If something is green and not white then it is nice.
Bob is round.
("Bob" "is" "round" "+")
Dave is green.
("Dave" "is" "green" "+")
If something is green and blue then it is not white.
((("something" "is" "green" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "-"))
If Dave is white and Dave is blue then Dave is green.
((("Dave" "is" "white" "+") ("Dave" "is" "blue" "+")) -> ("Dave" "is" "green" "+"))
If something is round and not kind then it is blue.
((("something" "is" "round" "+") ("something" "is" "kind" "~")) -> ("something" "is" "blue" "+"))
If Bob is green then Bob is blue.
((("Bob" "is" "green" "+")) -> ("Bob" "is" "blue" "+"))
If Bob is red then Bob is not nice.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "nice" "-"))
Round things are green.
((("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If Dave is white and Dave is round then Dave is nice.
((("Dave" "is" "white" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "nice" "+"))
If something is green and not white then it is nice.
((("something" "is" "green" "+") ("something" "is" "white" "~")) -> ("something" "is" "nice" "+"))
Dave is green.
True
1
proof
[(triple2)]
("Dave" "is" "green" "+")
triple2
Bob is not round.
False
1
inv-proof
[(triple1)]
("Bob" "is" "round" "-")
triple1
Bob is green.
True
2
proof
[(((triple1) -> rule6))]
("Bob" "is" "green" "+")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not green.
False
2
inv-proof
[(((triple1) -> rule6))]
("Bob" "is" "green" "-")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
True
3
proof
[(((((triple1) -> rule6)) -> rule4))]
("Bob" "is" "blue" "+")
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not blue.
False
3
inv-proof
[(((((triple1) -> rule6)) -> rule4))]
("Bob" "is" "blue" "-")
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not white.
True
6
proof
[(((((triple1) -> rule6) ((((triple1) -> rule6)) -> rule4)) -> rule1))]
("Bob" "is" "white" "-")
((((triple1) -> (rule6 % int3)) ((((triple1) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is not white.
("Bob" "is" "white" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is white.
False
6
inv-proof
[(((((triple1) -> rule6) ((((triple1) -> rule6)) -> rule4)) -> rule1))]
("Bob" "is" "white" "+")
((((triple1) -> (rule6 % int3)) ((((triple1) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is not white.
("Bob" "is" "white" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Dave is not blue.
Unknown
inv-rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "blue" "-")
Dave is nice.
Unknown
rconc
[@1: Dave is nice.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Dave" "is" "nice" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
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" "+")
Dave is not kind.
Unknown
inv-random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Bob is round.[(triple1)] Dave is green.[(triple2)] @1: Bob is green.[(((triple1) -> rule6))] @2: Bob is blue.[(((((triple1) -> rule6)) -> rule4))] @3: Bob is not white.[(((((triple1) -> rule6) ((((triple1) -> rule6)) -> rule4)) -> rule1))] @4: Bob is nice.[(((((triple1) -> rule6) ((((triple1) -> rule6) ((((triple1) -> rule6)) -> rule4)) -> rule1)) -> rule8))]
Bob is round.
("Bob" "is" "round" "+")
triple1
Dave is green.
("Dave" "is" "green" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not white.
("Bob" "is" "white" "-")
((((triple1) -> (rule6 % int3)) ((((triple1) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is not white.
("Bob" "is" "white" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((triple1) -> (rule6 % int4)) ((((triple1) -> (rule6 % int4)) ((((triple1) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is not white.
("Bob" "is" "white" "-")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4