Bob is blue. Bob is furry. Bob is kind. Bob is white. Erin is furry. Erin is kind. Erin is red. Erin is young. Gary is furry. Gary is nice. Gary is red. Gary is white. Gary is young. Harry is kind. Harry is nice. Kind people are white. All young, blue people are kind. If someone is kind then they are blue. All kind people are nice. If Erin is red then Erin is nice. If Gary is kind and Gary is blue then Gary is young.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is white.
("Bob" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Kind people are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
All young, blue people are kind.
((("someone" "is" "young" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
All kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If Erin is red then Erin is nice.
((("Erin" "is" "red" "+")) -> ("Erin" "is" "nice" "+"))
If Gary is kind and Gary is blue then Gary is young.
((("Gary" "is" "kind" "+") ("Gary" "is" "blue" "+")) -> ("Gary" "is" "young" "+"))
Bob is blue.
True
1
proof
[(triple1 OR ((triple3) -> rule3))]
("Bob" "is" "blue" "+")
triple1
((triple3) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is not kind.
False
1
inv-proof
[(triple3)]
("Bob" "is" "kind" "-")
triple3
Gary is not blue.
Unknown
inv-rconc
[@2: Gary is blue.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Gary" "is" "blue" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
@0: Bob is blue.[(triple1 OR ((triple3) -> rule3))] Bob is furry.[(triple2)] Bob is kind.[(triple3)] Bob is white.[(triple4 OR ((triple3) -> rule1))] Erin is furry.[(triple5)] Erin is kind.[(triple6)] Erin is red.[(triple7)] Erin is young.[(triple8)] Gary is furry.[(triple9)] Gary is nice.[(triple10)] Gary is red.[(triple11)] Gary is white.[(triple12)] Gary is young.[(triple13)] Harry is kind.[(triple14)] Harry is nice.[(triple15 OR ((triple14) -> rule4))] @1: Bob is nice.[(((triple3) -> rule4))] Erin is blue.[(((triple6) -> rule3))] Erin is nice.[(((triple6) -> rule4) OR ((triple7) -> rule5))] Erin is white.[(((triple6) -> rule1))] Harry is blue.[(((triple14) -> rule3))] Harry is white.[(((triple14) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple3) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
((triple3) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
triple5
Erin is kind.
("Erin" "is" "kind" "+")
triple6
Erin is red.
("Erin" "is" "red" "+")
triple7
Erin is young.
("Erin" "is" "young" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is nice.
("Gary" "is" "nice" "+")
triple10
Gary is red.
("Gary" "is" "red" "+")
triple11
Gary is white.
("Gary" "is" "white" "+")
triple12
Gary is young.
("Gary" "is" "young" "+")
triple13
Harry is kind.
("Harry" "is" "kind" "+")
triple14
Harry is nice.
("Harry" "is" "nice" "+")
triple15
((triple14) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple6) -> (rule3 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple6) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple7) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple6) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple14) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple14) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1