Bob is cold. Bob is nice. Bob is red. Bob is white. Dave is blue. Dave is nice. Dave is quiet. Dave is round. Dave is white. Fiona is blue. Fiona is cold. Fiona is nice. Fiona is quiet. Fiona is red. Fiona is white. Gary is round. All quiet, nice people are cold. If Fiona is blue and Fiona is quiet then Fiona is red. All nice, round people are red. If Bob is round then Bob is white. If Bob is blue then Bob is white. If Dave is white and Dave is blue then Dave is round.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is round.
("Gary" "is" "round" "+")
All quiet, nice people are cold.
((("someone" "is" "quiet" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
If Fiona is blue and Fiona is quiet then Fiona is red.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "red" "+"))
All nice, round people are red.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
If Bob is round then Bob is white.
((("Bob" "is" "round" "+")) -> ("Bob" "is" "white" "+"))
If Bob is blue then Bob is white.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "white" "+"))
If Dave is white and Dave is blue then Dave is round.
((("Dave" "is" "white" "+") ("Dave" "is" "blue" "+")) -> ("Dave" "is" "round" "+"))
Dave is blue.
True
1
proof
[(triple5)]
("Dave" "is" "blue" "+")
triple5
Gary is not round.
False
1
inv-proof
[(triple16)]
("Gary" "is" "round" "-")
triple16
Gary is not cold.
Unknown
inv-rconc
[@1: Gary is cold.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "cold" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2)] Bob is red.[(triple3)] Bob is white.[(triple4)] Dave is blue.[(triple5)] Dave is nice.[(triple6)] Dave is quiet.[(triple7)] Dave is round.[(triple8 OR ((triple9 triple5) -> rule6))] Dave is white.[(triple9)] Fiona is blue.[(triple10)] Fiona is cold.[(triple11 OR ((triple13 triple12) -> rule1))] Fiona is nice.[(triple12)] Fiona is quiet.[(triple13)] Fiona is red.[(triple14 OR ((triple10 triple13) -> rule2))] Fiona is white.[(triple15)] Gary is round.[(triple16)] @1: Dave is cold.[(((triple7 triple6) -> rule1))] Dave is red.[(((triple6 triple8) -> rule3) OR ((triple6 ((triple9 triple5) -> rule6)) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is quiet.
("Dave" "is" "quiet" "+")
triple7
Dave is round.
("Dave" "is" "round" "+")
triple8
((triple9 triple5) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
triple9
Fiona is blue.
("Fiona" "is" "blue" "+")
triple10
Fiona is cold.
("Fiona" "is" "cold" "+")
triple11
((triple13 triple12) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple12
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple13
Fiona is red.
("Fiona" "is" "red" "+")
triple14
((triple10 triple13) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple15
Gary is round.
("Gary" "is" "round" "+")
triple16
Dave is cold.
("Dave" "is" "cold" "+")
((triple7 triple6) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple6 triple8) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple6 ((triple9 triple5) -> (rule6 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2