Bob is young. Charlie is green. Dave is blue. Erin is big. All young things are white. If something is blue then it is white. If something is big and red then it is green. If something is white then it is green. If Dave is green and Dave is not blue then Dave is not red. If something is cold and not white then it is red. If something is blue and not big then it is not red. If something is young and red then it is cold.
Bob is young.
("Bob" "is" "young" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Erin is big.
("Erin" "is" "big" "+")
All young things are white.
((("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
If something is blue then it is white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If something is big and red then it is green.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If something is white then it is green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
If Dave is green and Dave is not blue then Dave is not red.
((("Dave" "is" "green" "+") ("Dave" "is" "blue" "~")) -> ("Dave" "is" "red" "-"))
If something is cold and not white then it is red.
((("something" "is" "cold" "+") ("something" "is" "white" "~")) -> ("something" "is" "red" "+"))
If something is blue and not big then it is not red.
((("something" "is" "blue" "+") ("something" "is" "big" "~")) -> ("something" "is" "red" "-"))
If something is young and red then it is cold.
((("something" "is" "young" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
Erin is big.
True
1
proof
[(triple4)]
("Erin" "is" "big" "+")
triple4
Bob is not young.
False
1
inv-proof
[(triple1)]
("Bob" "is" "young" "-")
triple1
Erin is not red.
Unknown
inv-rconc
[@1: Erin is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "red" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
@0: Bob is young.[(triple1)] Charlie is green.[(triple2)] Dave is blue.[(triple3)] Erin is big.[(triple4)] @1: Bob is white.[(((triple1) -> rule1))] Dave is white.[(((triple3) -> rule2))] @2: Bob is green.[(((((triple1) -> rule1)) -> rule4))] Dave is green.[(((((triple3) -> rule2)) -> rule4))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Erin is big.
("Erin" "is" "big" "+")
triple4
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
((triple3) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
((((triple3) -> (rule2 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2