Bob is blue. Gary is white. All white things are cold. If something is kind then it is green. All blue things are white. Cold things are not kind. If something is blue and not white then it is furry. If Bob is not kind then Bob is red.
Bob is blue.
("Bob" "is" "blue" "+")
Gary is white.
("Gary" "is" "white" "+")
All white things are cold.
((("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
If something is kind then it is green.
((("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
Cold things are not kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "-"))
If something is blue and not white then it is furry.
((("something" "is" "blue" "+") ("something" "is" "white" "~")) -> ("something" "is" "furry" "+"))
If Bob is not kind then Bob is red.
((("Bob" "is" "kind" "~")) -> ("Bob" "is" "red" "+"))
Gary is white.
True
1
proof
[(triple2)]
("Gary" "is" "white" "+")
triple2
Bob is not blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Bob is white.
True
2
proof
[(((triple1) -> rule3))]
("Bob" "is" "white" "+")
((triple1) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Gary is not cold.
False
2
inv-proof
[(((triple2) -> rule1))]
("Gary" "is" "cold" "-")
((triple2) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is not kind.
True
3
proof
[(((((triple2) -> rule1)) -> rule4))]
("Gary" "is" "kind" "-")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule4))]
("Gary" "is" "kind" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Bob is not kind.
True
4
proof
[(((((((triple1) -> rule3)) -> rule1)) -> rule4))]
("Bob" "is" "kind" "-")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is kind.
False
4
inv-proof
[(((((((triple1) -> rule3)) -> rule1)) -> rule4))]
("Bob" "is" "kind" "+")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "furry" "-")
Bob is furry.
Unknown
rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "furry" "+")
Bob is not green.
Unknown
inv-rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Gary is green.
Unknown
rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "green" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Bob is blue.[(triple1)] Gary is white.[(triple2)] @1: Bob is white.[(((triple1) -> rule3))] Gary is cold.[(((triple2) -> rule1))] @2: Bob is cold.[(((((triple1) -> rule3)) -> rule1))] Gary is not kind.[(((((triple2) -> rule1)) -> rule4))] @3: Bob is not kind.[(((((((triple1) -> rule3)) -> rule1)) -> rule4))] @4: Bob is red.[(((((((((triple1) -> rule3)) -> rule1)) -> rule4)) -> rule6))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Gary is white.
("Gary" "is" "white" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Gary is not kind.
("Gary" "is" "kind" "-")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Bob is not kind.
("Bob" "is" "kind" "-")
((((((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((((((((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is not kind.
("Bob" "is" "kind" "-")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4