Bob is blue. Bob is cold. Bob is green. Bob is kind. Bob is red. Fiona is blue. Fiona is green. Fiona is kind. Fiona is red. Fiona is round. Fiona is white. Gary is green. If something is green then it is kind. Kind things are round. If something is red and green then it is blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is green.
("Gary" "is" "green" "+")
If something is green then it is kind.
((("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
Kind things are round.
((("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
If something is red and green then it is blue.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Fiona is kind.
True
1
proof
[(triple8 OR ((triple7) -> rule1))]
("Fiona" "is" "kind" "+")
triple8
((triple7) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Bob is not cold.
False
1
inv-proof
[(triple2)]
("Bob" "is" "cold" "-")
triple2
Gary is kind.
True
2
proof
[(((triple12) -> rule1))]
("Gary" "is" "kind" "+")
((triple12) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple4) -> rule2) OR ((((triple3) -> rule1)) -> rule2))]
("Bob" "is" "round" "-")
((triple4) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Gary is round.
True
3
proof
[(((((triple12) -> rule1)) -> rule2))]
("Gary" "is" "round" "+")
((((triple12) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not round.
False
3
inv-proof
[(((((triple12) -> rule1)) -> rule2))]
("Gary" "is" "round" "-")
((((triple12) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "blue" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Bob is blue.[(triple1 OR ((triple5 triple3) -> rule3))] Bob is cold.[(triple2)] Bob is green.[(triple3)] Bob is kind.[(triple4 OR ((triple3) -> rule1))] Bob is red.[(triple5)] Fiona is blue.[(triple6 OR ((triple9 triple7) -> rule3))] Fiona is green.[(triple7)] Fiona is kind.[(triple8 OR ((triple7) -> rule1))] Fiona is red.[(triple9)] Fiona is round.[(triple10 OR ((triple8) -> rule2) OR ((((triple7) -> rule1)) -> rule2))] Fiona is white.[(triple11)] Gary is green.[(triple12)] @1: Bob is round.[(((triple4) -> rule2) OR ((((triple3) -> rule1)) -> rule2))] Gary is kind.[(((triple12) -> rule1))] @2: Gary is round.[(((((triple12) -> rule1)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple5 triple3) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple3) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple5
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
((triple9 triple7) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple7
Fiona is kind.
("Fiona" "is" "kind" "+")
triple8
((triple7) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
((triple8) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple11
Gary is green.
("Gary" "is" "green" "+")
triple12
Bob is round.
("Bob" "is" "round" "+")
((triple4) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple12) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((((triple12) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2