Erin is furry. Erin is green. Erin is nice. Fiona is furry. Fiona is white. Gary is furry. Gary is green. Gary is kind. Gary is nice. Gary is quiet. Gary is red. Gary is white. If something is quiet then it is red. Nice things are red. Quiet, white things are kind. If something is white then it is nice. If something is green and quiet then it is nice. If something is nice and green then it is furry.
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is white.
("Gary" "is" "white" "+")
If something is quiet then it is red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Nice things are red.
((("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
Quiet, white things are kind.
((("something" "is" "quiet" "+") ("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
If something is white then it is nice.
((("something" "is" "white" "+")) -> ("something" "is" "nice" "+"))
If something is green and quiet then it is nice.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
If something is nice and green then it is furry.
((("something" "is" "nice" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
Gary is white.
True
1
proof
[(triple12)]
("Gary" "is" "white" "+")
triple12
Erin is not green.
False
1
inv-proof
[(triple2)]
("Erin" "is" "green" "-")
triple2
Erin is not kind.
Unknown
inv-rconc
[@1: Erin is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "kind" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
@0: Erin is furry.[(triple1 OR ((triple3 triple2) -> rule6))] Erin is green.[(triple2)] Erin is nice.[(triple3)] Fiona is furry.[(triple4)] Fiona is white.[(triple5)] Gary is furry.[(triple6 OR ((triple9 triple7) -> rule6) OR ((((triple12) -> rule4) triple7) -> rule6) OR ((((triple7 triple10) -> rule5) triple7) -> rule6))] Gary is green.[(triple7)] Gary is kind.[(triple8 OR ((triple10 triple12) -> rule3))] Gary is nice.[(triple9 OR ((triple12) -> rule4) OR ((triple7 triple10) -> rule5))] Gary is quiet.[(triple10)] Gary is red.[(triple11 OR ((triple10) -> rule1) OR ((triple9) -> rule2) OR ((((triple12) -> rule4)) -> rule2) OR ((((triple7 triple10) -> rule5)) -> rule2))] Gary is white.[(triple12)] @1: Erin is red.[(((triple3) -> rule2))] Fiona is nice.[(((triple5) -> rule4))] @2: Fiona is red.[(((((triple5) -> rule4)) -> rule2))]
Erin is furry.
("Erin" "is" "furry" "+")
triple1
((triple3 triple2) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Fiona is white.
("Fiona" "is" "white" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
((triple9 triple7) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((triple12) -> (rule4 % int2)) triple7) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple7 triple10) -> (rule5 % int2)) triple7) -> (rule6 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
triple7
Gary is kind.
("Gary" "is" "kind" "+")
triple8
((triple10 triple12) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple9
((triple12) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple7 triple10) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple10
Gary is red.
("Gary" "is" "red" "+")
triple11
((triple10) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple9) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple12) -> (rule4 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple7 triple10) -> (rule5 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple12
Erin is red.
("Erin" "is" "red" "+")
((triple3) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple5) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2