Bob is furry. Dave is blue. Gary is quiet. Harry is white. All white, rough people are kind. If someone is white then they are furry. Blue, kind people are nice. Kind people are furry. All white people are rough. Furry, nice people are kind. If Gary is kind and Gary is nice then Gary is white. Nice, kind people are rough.
Bob is furry.
("Bob" "is" "furry" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is white.
("Harry" "is" "white" "+")
All white, rough people are kind.
((("someone" "is" "white" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If someone is white then they are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
Blue, kind people are nice.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
Kind people are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
All white people are rough.
((("someone" "is" "white" "+")) -> ("someone" "is" "rough" "+"))
Furry, nice people are kind.
((("someone" "is" "furry" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
If Gary is kind and Gary is nice then Gary is white.
((("Gary" "is" "kind" "+") ("Gary" "is" "nice" "+")) -> ("Gary" "is" "white" "+"))
Nice, kind people are rough.
((("someone" "is" "nice" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
Bob is furry.
True
1
proof
[(triple1)]
("Bob" "is" "furry" "+")
triple1
Harry is not white.
False
1
inv-proof
[(triple4)]
("Harry" "is" "white" "-")
triple4
Dave is not kind.
Unknown
inv-rconc
[@3: Dave is kind.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule1 <- FAIL)]]
("Dave" "is" "kind" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Bob is furry.[(triple1)] Dave is blue.[(triple2)] Gary is quiet.[(triple3)] Harry is white.[(triple4)] @1: Harry is furry.[(((triple4) -> rule2) OR ((((triple4 ((triple4) -> rule5)) -> rule1)) -> rule4))] Harry is rough.[(((triple4) -> rule5))] @2: Harry is kind.[(((triple4 ((triple4) -> rule5)) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple3
Harry is white.
("Harry" "is" "white" "+")
triple4
Harry is furry.
("Harry" "is" "furry" "+")
((triple4) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple4 ((triple4) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple4 ((triple4) -> (rule5 % int2))) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2