Bob is blue. Bob is cold. Bob is white. Fiona is blue. Gary is blue. Gary is kind. Gary is nice. All nice things are cold. If Gary is nice and Gary is green then Gary is blue. If Gary is blue then Gary is nice. Kind, white things are young. If Gary is green and Gary is young then Gary is cold. All young things are kind.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
All nice things are cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
If Gary is nice and Gary is green then Gary is blue.
((("Gary" "is" "nice" "+") ("Gary" "is" "green" "+")) -> ("Gary" "is" "blue" "+"))
If Gary is blue then Gary is nice.
((("Gary" "is" "blue" "+")) -> ("Gary" "is" "nice" "+"))
Kind, white things are young.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
If Gary is green and Gary is young then Gary is cold.
((("Gary" "is" "green" "+") ("Gary" "is" "young" "+")) -> ("Gary" "is" "cold" "+"))
All young things are kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Gary is nice.
True
1
proof
[(triple7 OR ((triple5) -> rule3))]
("Gary" "is" "nice" "+")
triple7
((triple5) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Bob is not white.
False
1
inv-proof
[(triple3)]
("Bob" "is" "white" "-")
triple3
Gary is cold.
True
2
proof
[(((triple7) -> rule1) OR ((((triple5) -> rule3)) -> rule1))]
("Gary" "is" "cold" "+")
((triple7) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not cold.
False
2
inv-proof
[(((triple7) -> rule1) OR ((((triple5) -> rule3)) -> rule1))]
("Gary" "is" "cold" "-")
((triple7) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Fiona is not cold.
Unknown
inv-rconc
[@1: Fiona is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "cold" "-")
Fiona is young.
Unknown
rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "young" "+")
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2)] Bob is white.[(triple3)] Fiona is blue.[(triple4)] Gary is blue.[(triple5)] Gary is kind.[(triple6)] Gary is nice.[(triple7 OR ((triple5) -> rule3))] @1: Gary is cold.[(((triple7) -> rule1) OR ((((triple5) -> rule3)) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
Gary is blue.
("Gary" "is" "blue" "+")
triple5
Gary is kind.
("Gary" "is" "kind" "+")
triple6
Gary is nice.
("Gary" "is" "nice" "+")
triple7
((triple5) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple7) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2