Anne is round. Erin is kind. Erin is round. Fiona is furry. Fiona is kind. Fiona is rough. Gary is blue. Gary is furry. Gary is rough. Gary is round. All blue, rough things are white. Round, white things are blue. All furry things are rough. If something is blue then it is furry. If Gary is big then Gary is round. If Fiona is furry then Fiona is blue.
Anne is round.
("Anne" "is" "round" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
All blue, rough things are white.
((("something" "is" "blue" "+") ("something" "is" "rough" "+")) -> ("something" "is" "white" "+"))
Round, white things are blue.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
All furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is blue then it is furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
If Gary is big then Gary is round.
((("Gary" "is" "big" "+")) -> ("Gary" "is" "round" "+"))
If Fiona is furry then Fiona is blue.
((("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "blue" "+"))
Erin is kind.
True
1
proof
[(triple2)]
("Erin" "is" "kind" "+")
triple2
Erin is not kind.
False
1
inv-proof
[(triple2)]
("Erin" "is" "kind" "-")
triple2
Fiona is blue.
True
2
proof
[(((triple4) -> rule6))]
("Fiona" "is" "blue" "+")
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Gary is not white.
False
3
inv-proof
[(((triple7 triple9) -> rule1) OR ((triple7 ((triple8) -> rule3)) -> rule1) OR ((triple7 ((((triple7) -> rule4)) -> rule3)) -> rule1))]
("Gary" "is" "white" "-")
((triple7 triple9) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple7 ((triple8) -> (rule3 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((triple7 ((((triple7) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Fiona is white.
True
4
proof
[(((((triple4) -> rule6) triple6) -> rule1) OR ((((triple4) -> rule6) ((triple4) -> rule3)) -> rule1))]
("Fiona" "is" "white" "+")
((((triple4) -> (rule6 % int2)) triple6) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not white.
False
4
inv-proof
[(((((triple4) -> rule6) triple6) -> rule1) OR ((((triple4) -> rule6) ((triple4) -> rule3)) -> rule1))]
("Fiona" "is" "white" "-")
((((triple4) -> (rule6 % int2)) triple6) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Erin is not white.
Unknown
inv-rconc
[@2: Erin is white.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Erin" "is" "white" "-")
Anne is furry.
Unknown
rconc
[@3: Anne is furry.[CWA. Example of deepest failure = (rule4 <- rule2 <- rule1 <- FAIL)]]
("Anne" "is" "furry" "+")
Anne is not blue.
Unknown
inv-rconc
[@2: Anne is blue.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
Anne is not big.
Unknown
inv-random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "-")
Erin is big.
Unknown
random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "+")
@0: Anne is round.[(triple1)] Erin is kind.[(triple2)] Erin is round.[(triple3)] Fiona is furry.[(triple4)] Fiona is kind.[(triple5)] Fiona is rough.[(triple6 OR ((triple4) -> rule3))] Gary is blue.[(triple7)] Gary is furry.[(triple8 OR ((triple7) -> rule4))] Gary is rough.[(triple9 OR ((triple8) -> rule3) OR ((((triple7) -> rule4)) -> rule3))] Gary is round.[(triple10)] @1: Fiona is blue.[(((triple4) -> rule6))] Gary is white.[(((triple7 triple9) -> rule1) OR ((triple7 ((triple8) -> rule3)) -> rule1) OR ((triple7 ((((triple7) -> rule4)) -> rule3)) -> rule1))] @2: Fiona is white.[(((((triple4) -> rule6) triple6) -> rule1) OR ((((triple4) -> rule6) ((triple4) -> rule3)) -> rule1))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Erin is kind.
("Erin" "is" "kind" "+")
triple2
Erin is round.
("Erin" "is" "round" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
((triple4) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
((triple7) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple9
((triple8) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple7 triple9) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((triple7 ((triple8) -> (rule3 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((triple7 ((((triple7) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
((((triple4) -> (rule6 % int2)) triple6) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple4) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3