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