Bob is blue. Bob is furry. Bob is green. Bob is kind. Bob is rough. Bob is smart. Bob is young. Dave is green. Dave is kind. Dave is not rough. Dave is smart. Dave is not young. Smart, green things are kind. All rough things are kind. If something is green and not furry then it is smart. If something is blue then it is young. If something is young and not green then it is blue. If Dave is young then Dave is rough.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is not rough.
("Dave" "is" "rough" "-")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is not young.
("Dave" "is" "young" "-")
Smart, green things are kind.
((("something" "is" "smart" "+") ("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
All rough things are kind.
((("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
If something is green and not furry then it is smart.
((("something" "is" "green" "+") ("something" "is" "furry" "~")) -> ("something" "is" "smart" "+"))
If something is blue then it is young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If something is young and not green then it is blue.
((("something" "is" "young" "+") ("something" "is" "green" "~")) -> ("something" "is" "blue" "+"))
If Dave is young then Dave is rough.
((("Dave" "is" "young" "+")) -> ("Dave" "is" "rough" "+"))
Bob is smart.
True
1
proof
[(triple6)]
("Bob" "is" "smart" "+")
triple6
Bob is not smart.
False
1
inv-proof
[(triple6)]
("Bob" "is" "smart" "-")
triple6
Dave is not blue.
Unknown
inv-rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "blue" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
@0: Bob is blue.[(triple1)] Bob is furry.[(triple2)] Bob is green.[(triple3)] Bob is kind.[(triple4 OR ((triple5) -> rule2) OR ((triple6 triple3) -> rule1))] Bob is rough.[(triple5)] Bob is smart.[(triple6)] Bob is young.[(triple7 OR ((triple1) -> rule4))] Dave is green.[(triple8)] Dave is kind.[(triple9 OR ((triple11 triple8) -> rule1))] Dave is not rough.[(triple10)] Dave is not young.[(triple12)] Dave is smart.[(triple11)]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
triple4
((triple5) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple6 triple3) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Bob is smart.
("Bob" "is" "smart" "+")
triple6
Bob is young.
("Bob" "is" "young" "+")
triple7
((triple1) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple8
Dave is kind.
("Dave" "is" "kind" "+")
triple9
((triple11 triple8) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not rough.
("Dave" "is" "rough" "-")
triple10
Dave is not young.
("Dave" "is" "young" "-")
triple12
Dave is smart.
("Dave" "is" "smart" "+")
triple11