Bob is big. Bob is blue. Bob is not young. All blue things are not green. Blue things are not green. If Bob is young and Bob is blue then Bob is nice. If Bob is big and Bob is furry then Bob is nice. All young things are blue. If something is white and green then it is not young.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is not young.
("Bob" "is" "young" "-")
All blue things are not green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "-"))
Blue things are not green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "-"))
If Bob is young and Bob is blue then Bob is nice.
((("Bob" "is" "young" "+") ("Bob" "is" "blue" "+")) -> ("Bob" "is" "nice" "+"))
If Bob is big and Bob is furry then Bob is nice.
((("Bob" "is" "big" "+") ("Bob" "is" "furry" "+")) -> ("Bob" "is" "nice" "+"))
All young things are blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
If something is white and green then it is not young.
((("something" "is" "white" "+") ("something" "is" "green" "+")) -> ("something" "is" "young" "-"))
Bob is big.
True
1
proof
[(triple1)]
("Bob" "is" "big" "+")
triple1
Bob is not blue.
False
1
inv-proof
[(triple2)]
("Bob" "is" "blue" "-")
triple2
Bob is not green.
True
2
proof
[(((triple2) -> rule1) OR ((triple2) -> rule2))]
("Bob" "is" "green" "-")
((triple2) -> (rule1 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1
((triple2) -> (rule2 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1
Bob is green.
False
2
inv-proof
[(((triple2) -> rule1) OR ((triple2) -> rule2))]
("Bob" "is" "green" "+")
((triple2) -> (rule1 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1
((triple2) -> (rule2 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1
Bob is not nice.
Unknown
inv-rconc
[@1: Bob is nice.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "nice" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2)] Bob is not young.[(triple3)] @1: Bob is not green.[(((triple2) -> rule1) OR ((triple2) -> rule2))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is not young.
("Bob" "is" "young" "-")
triple3
Bob is not green.
("Bob" "is" "green" "-")
((triple2) -> (rule1 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1
((triple2) -> (rule2 % int1))
Bob is not green.
("Bob" "is" "green" "-")
int1