Bob is nice. Erin is furry. Fiona is red. Gary is nice. If someone is red then they are furry. Nice, green people are kind. If someone is red then they are kind. All green, red people are furry. All kind, white people are furry. All white people are green.
Bob is nice.
("Bob" "is" "nice" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is nice.
("Gary" "is" "nice" "+")
If someone is red then they are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
Nice, green people are kind.
((("someone" "is" "nice" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
If someone is red then they are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
All green, red people are furry.
((("someone" "is" "green" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
All kind, white people are furry.
((("someone" "is" "kind" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
All white people are green.
((("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
Erin is furry.
True
1
proof
[(triple2)]
("Erin" "is" "furry" "+")
triple2
Gary is not nice.
False
1
inv-proof
[(triple4)]
("Gary" "is" "nice" "-")
triple4
Fiona is kind.
True
2
proof
[(((triple3) -> rule3))]
("Fiona" "is" "kind" "+")
((triple3) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is not furry.
False
2
inv-proof
[(((triple3) -> rule1))]
("Fiona" "is" "furry" "-")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "furry" "-")
Erin is kind.
Unknown
rconc
[@1: Erin is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "kind" "+")
Erin is not white.
Unknown
inv-random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is nice.[(triple1)] Erin is furry.[(triple2)] Fiona is red.[(triple3)] Gary is nice.[(triple4)] @1: Fiona is furry.[(((triple3) -> rule1))] Fiona is kind.[(((triple3) -> rule3))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Fiona is red.
("Fiona" "is" "red" "+")
triple3
Gary is nice.
("Gary" "is" "nice" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple3) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1