Bob is big. Bob is blue. Bob is cold. Bob is red. Dave is cold. Fiona is cold. Fiona is smart. Blue, big people are smart. If someone is red and smart then they are cold. If someone is rough and big then they are round. If someone is rough and blue then they are round. All red people are rough. Red people are cold.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is red.
("Bob" "is" "red" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Blue, big people are smart.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "smart" "+"))
If someone is red and smart then they are cold.
((("someone" "is" "red" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
If someone is rough and big then they are round.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
If someone is rough and blue then they are round.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
All red people are rough.
((("someone" "is" "red" "+")) -> ("someone" "is" "rough" "+"))
Red people are cold.
((("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
Fiona is cold.
True
1
proof
[(triple6)]
("Fiona" "is" "cold" "+")
triple6
Bob is not blue.
False
1
inv-proof
[(triple2)]
("Bob" "is" "blue" "-")
triple2
Fiona is not round.
Unknown
inv-rconc
[@1: Fiona is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "round" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2)] Bob is cold.[(triple3 OR ((triple4) -> rule6) OR ((triple4 ((triple2 triple1) -> rule1)) -> rule2))] Bob is red.[(triple4)] Dave is cold.[(triple5)] Fiona is cold.[(triple6)] Fiona is smart.[(triple7)] @1: Bob is rough.[(((triple4) -> rule5))] Bob is smart.[(((triple2 triple1) -> rule1))] @2: Bob is round.[(((((triple4) -> rule5) triple1) -> rule3) OR ((((triple4) -> rule5) triple2) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((triple4) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple4 ((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple4
Dave is cold.
("Dave" "is" "cold" "+")
triple5
Fiona is cold.
("Fiona" "is" "cold" "+")
triple6
Fiona is smart.
("Fiona" "is" "smart" "+")
triple7
Bob is rough.
("Bob" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((triple2 triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple4) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple4) -> (rule5 % int2)) triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2