Bob is blue. Dave is round. Gary is red. Harry is red. Blue things are cold. All round things are cold. All nice, blue things are green. Cold, big things are round. Red, green things are round. If Dave is green and Dave is blue then Dave is round.
Bob is blue.
("Bob" "is" "blue" "+")
Dave is round.
("Dave" "is" "round" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is red.
("Harry" "is" "red" "+")
Blue things are cold.
((("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
All round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
All nice, blue things are green.
((("something" "is" "nice" "+") ("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
Cold, big things are round.
((("something" "is" "cold" "+") ("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
Red, green things are round.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
If Dave is green and Dave is blue then Dave is round.
((("Dave" "is" "green" "+") ("Dave" "is" "blue" "+")) -> ("Dave" "is" "round" "+"))
Harry is red.
True
1
proof
[(triple4)]
("Harry" "is" "red" "+")
triple4
Bob is not blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Dave is cold.
True
2
proof
[(((triple2) -> rule2))]
("Dave" "is" "cold" "+")
((triple2) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is not cold.
False
2
inv-proof
[(((triple2) -> rule2))]
("Dave" "is" "cold" "-")
((triple2) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Harry is not cold.
Unknown
inv-rconc
[@3: Harry is cold.[CWA. Example of deepest failure = (rule2 <- rule5 <- rule3 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is round.
Unknown
rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Harry" "is" "round" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
@0: Bob is blue.[(triple1)] Dave is round.[(triple2)] Gary is red.[(triple3)] Harry is red.[(triple4)] @1: Bob is cold.[(((triple1) -> rule1))] Dave is cold.[(((triple2) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Dave is round.
("Dave" "is" "round" "+")
triple2
Gary is red.
("Gary" "is" "red" "+")
triple3
Harry is red.
("Harry" "is" "red" "+")
triple4
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((triple2) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1