Anne is blue. Anne is green. Anne is kind. Anne is nice. Anne is rough. Anne is young. Bob is blue. Bob is cold. Bob is green. Bob is nice. Dave is blue. Dave is cold. Dave is green. Dave is kind. Dave is rough. Dave is young. If someone is green and young then they are nice. All cold, kind people are young. Nice, kind people are green. Kind people are blue. If someone is blue and green then they are rough. If someone is kind then they are blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is young.
("Dave" "is" "young" "+")
If someone is green and young then they are nice.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
All cold, kind people are young.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Nice, kind people are green.
((("someone" "is" "nice" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "green" "+"))
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue and green then they are rough.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If someone is kind then they are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
Anne is green.
True
1
proof
[(triple2 OR ((triple4 triple3) -> rule3))]
("Anne" "is" "green" "+")
triple2
((triple4 triple3) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Dave is not blue.
False
1
inv-proof
[(triple11 OR ((triple14) -> rule4) OR ((triple14) -> rule6))]
("Dave" "is" "blue" "-")
triple11
((triple14) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple14) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Bob is rough.
True
3
proof
[(((triple7 triple9) -> rule5))]
("Bob" "is" "rough" "+")
((triple7 triple9) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is not rough.
False
3
inv-proof
[(((triple7 triple9) -> rule5))]
("Bob" "is" "rough" "-")
((triple7 triple9) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is not young.
Unknown
inv-rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "young" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Anne is blue.[(triple1 OR ((triple3) -> rule4) OR ((triple3) -> rule6))] Anne is green.[(triple2 OR ((triple4 triple3) -> rule3))] Anne is kind.[(triple3)] Anne is nice.[(triple4 OR ((triple2 triple6) -> rule1))] Anne is rough.[(triple5 OR ((triple1 triple2) -> rule5) OR ((triple1 ((triple4 triple3) -> rule3)) -> rule5) OR ((((triple3) -> rule4) triple2) -> rule5) OR ((((triple3) -> rule6) triple2) -> rule5) OR ((((triple3) -> rule4) ((triple4 triple3) -> rule3)) -> rule5) OR ((((triple3) -> rule6) ((triple4 triple3) -> rule3)) -> rule5))] Anne is young.[(triple6)] Bob is blue.[(triple7)] Bob is cold.[(triple8)] Bob is green.[(triple9)] Bob is nice.[(triple10)] Dave is blue.[(triple11 OR ((triple14) -> rule4) OR ((triple14) -> rule6))] Dave is cold.[(triple12)] Dave is green.[(triple13)] Dave is kind.[(triple14)] Dave is rough.[(triple15 OR ((triple11 triple13) -> rule5) OR ((((triple14) -> rule4) triple13) -> rule5) OR ((((triple14) -> rule6) triple13) -> rule5))] Dave is young.[(triple16 OR ((triple12 triple14) -> rule2))] @1: Bob is rough.[(((triple7 triple9) -> rule5))] Dave is nice.[(((triple13 triple16) -> rule1) OR ((triple13 ((triple12 triple14) -> rule2)) -> rule1))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple3) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple3) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
triple2
((triple4 triple3) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is nice.
("Anne" "is" "nice" "+")
triple4
((triple2 triple6) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple1 triple2) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple1 ((triple4 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple3) -> (rule4 % int2)) triple2) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple3) -> (rule6 % int2)) triple2) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple3) -> (rule4 % int3)) ((triple4 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((triple3) -> (rule6 % int3)) ((triple4 triple3) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
triple6
Bob is blue.
("Bob" "is" "blue" "+")
triple7
Bob is cold.
("Bob" "is" "cold" "+")
triple8
Bob is green.
("Bob" "is" "green" "+")
triple9
Bob is nice.
("Bob" "is" "nice" "+")
triple10
Dave is blue.
("Dave" "is" "blue" "+")
triple11
((triple14) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple14) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
triple12
Dave is green.
("Dave" "is" "green" "+")
triple13
Dave is kind.
("Dave" "is" "kind" "+")
triple14
Dave is rough.
("Dave" "is" "rough" "+")
triple15
((triple11 triple13) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple14) -> (rule4 % int2)) triple13) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple14) -> (rule6 % int2)) triple13) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
triple16
((triple12 triple14) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
((triple7 triple9) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple13 triple16) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple13 ((triple12 triple14) -> (rule2 % int2))) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2