Charlie is green. Dave is furry. Furry things are kind. If something is smart then it is red. All young, furry things are green. If Dave is kind and Dave is furry then Dave is green. If something is furry then it is red. If something is furry and young then it is kind.
Charlie is green.
("Charlie" "is" "green" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Furry things are kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
If something is smart then it is red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
All young, furry things are green.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If Dave is kind and Dave is furry then Dave is green.
((("Dave" "is" "kind" "+") ("Dave" "is" "furry" "+")) -> ("Dave" "is" "green" "+"))
If something is furry then it is red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If something is furry and young then it is kind.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Charlie is green.
True
1
proof
[(triple1)]
("Charlie" "is" "green" "+")
triple1
Charlie is not green.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "green" "-")
triple1
Dave is red.
True
2
proof
[(((triple2) -> rule5))]
("Dave" "is" "red" "+")
((triple2) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple2) -> rule1))]
("Dave" "is" "kind" "-")
((triple2) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is green.
True
4
proof
[(((((triple2) -> rule1) triple2) -> rule4))]
("Dave" "is" "green" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is not green.
False
4
inv-proof
[(((((triple2) -> rule1) triple2) -> rule4))]
("Dave" "is" "green" "-")
((((triple2) -> (rule1 % int2)) triple2) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "kind" "+")
Charlie is not smart.
Unknown
inv-random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Charlie is green.[(triple1)] Dave is furry.[(triple2)] @1: Dave is kind.[(((triple2) -> rule1))] Dave is red.[(((triple2) -> rule5))] @2: Dave is green.[(((((triple2) -> rule1) triple2) -> rule4))]
Charlie is green.
("Charlie" "is" "green" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
((triple2) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple2) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2