Charlie is furry. Erin is kind. Erin is red. Fiona is furry. Fiona is kind. Gary is furry. Gary is round. If something is round and red then it is kind. All white, round things are nice. Round things are white. All kind, furry things are red. If something is blue and nice then it is round. If something is nice then it is blue. All kind, white things are furry. If something is red then it is round. All nice things are blue.
Charlie is furry.
("Charlie" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is round.
("Gary" "is" "round" "+")
If something is round and red then it is kind.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
All white, round things are nice.
((("something" "is" "white" "+") ("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
Round things are white.
((("something" "is" "round" "+")) -> ("something" "is" "white" "+"))
All kind, furry things are red.
((("something" "is" "kind" "+") ("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If something is blue and nice then it is round.
((("something" "is" "blue" "+") ("something" "is" "nice" "+")) -> ("something" "is" "round" "+"))
If something is nice then it is blue.
((("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
All kind, white things are furry.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
If something is red then it is round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
All nice things are blue.
((("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
Erin is kind.
True
1
proof
[(triple2 OR ((((triple3) -> rule8) triple3) -> rule1))]
("Erin" "is" "kind" "+")
triple2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is not kind.
False
1
inv-proof
[(triple2 OR ((((triple3) -> rule8) triple3) -> rule1))]
("Erin" "is" "kind" "-")
triple2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Gary is white.
True
2
proof
[(((triple7) -> rule3))]
("Gary" "is" "white" "+")
((triple7) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is not white.
False
2
inv-proof
[(((triple7) -> rule3))]
("Gary" "is" "white" "-")
((triple7) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Fiona is round.
True
4
proof
[(((((triple5 triple4) -> rule4)) -> rule8))]
("Fiona" "is" "round" "+")
((((triple5 triple4) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Erin is not white.
False
3
inv-proof
[(((((triple3) -> rule8)) -> rule3))]
("Erin" "is" "white" "-")
((((triple3) -> (rule8 % int2))) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Fiona is white.
True
5
proof
[(((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3))]
("Fiona" "is" "white" "+")
((((((triple5 triple4) -> (rule4 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Erin is not nice.
False
6
inv-proof
[(((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2))]
("Erin" "is" "nice" "-")
((((((triple3) -> (rule8 % int3))) -> (rule3 % int2)) ((triple3) -> (rule8 % int3))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Fiona is nice.
True
10
proof
[(((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2))]
("Fiona" "is" "nice" "+")
((((((((triple5 triple4) -> (rule4 % int4))) -> (rule8 % int3))) -> (rule3 % int2)) ((((triple5 triple4) -> (rule4 % int4))) -> (rule8 % int3))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Erin is not blue.
False
7
inv-proof
[(((((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2)) -> rule6) OR ((((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2)) -> rule9))]
("Erin" "is" "blue" "-")
((((((((triple3) -> (rule8 % int4))) -> (rule3 % int3)) ((triple3) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((((((triple3) -> (rule8 % int4))) -> (rule3 % int3)) ((triple3) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule9 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Fiona is blue.
True
11
proof
[(((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule6) OR ((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule9))]
("Fiona" "is" "blue" "+")
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule9 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5
Fiona is not blue.
False
11
inv-proof
[(((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule6) OR ((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule9))]
("Fiona" "is" "blue" "-")
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule9 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5
Charlie is not red.
Unknown
inv-rconc
[@2: Charlie is red.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is white.
Unknown
rconc
[@4: Charlie is white.[CWA. Example of deepest failure = (rule3 <- rule8 <- rule4 <- rule1 <- FAIL)]]
("Charlie" "is" "white" "+")
Gary is not kind.
Unknown
inv-rconc
[@2: Gary is kind.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Gary" "is" "kind" "-")
Charlie is nice.
Unknown
rconc
[@4: Charlie is nice.[CWA. Example of deepest failure = (rule2 <- rule8 <- rule4 <- rule1 <- FAIL)]]
("Charlie" "is" "nice" "+")
Charlie is not kind.
Unknown
inv-rconc
[@2: Charlie is kind.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Charlie" "is" "kind" "-")
Gary is red.
Unknown
rconc
[@2: Gary is red.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Gary" "is" "red" "+")
@0: Charlie is furry.[(triple1)] Erin is kind.[(triple2 OR ((((triple3) -> rule8) triple3) -> rule1))] Erin is red.[(triple3)] Fiona is furry.[(triple4)] Fiona is kind.[(triple5)] Gary is furry.[(triple6)] Gary is round.[(triple7)] @1: Erin is round.[(((triple3) -> rule8))] Fiona is red.[(((triple5 triple4) -> rule4))] Gary is white.[(((triple7) -> rule3))] @2: Erin is white.[(((((triple3) -> rule8)) -> rule3))] Fiona is round.[(((((triple5 triple4) -> rule4)) -> rule8))] Gary is nice.[(((((triple7) -> rule3) triple7) -> rule2))] @3: Erin is furry.[(((triple2 ((((triple3) -> rule8)) -> rule3)) -> rule7) OR ((((((triple3) -> rule8) triple3) -> rule1) ((((triple3) -> rule8)) -> rule3)) -> rule7))] Erin is nice.[(((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2))] Fiona is white.[(((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3))] Gary is blue.[(((((((triple7) -> rule3) triple7) -> rule2)) -> rule6) OR ((((((triple7) -> rule3) triple7) -> rule2)) -> rule9))] @4: Erin is blue.[(((((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2)) -> rule6) OR ((((((((triple3) -> rule8)) -> rule3) ((triple3) -> rule8)) -> rule2)) -> rule9))] Fiona is nice.[(((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2))] @5: Fiona is blue.[(((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule6) OR ((((((((((triple5 triple4) -> rule4)) -> rule8)) -> rule3) ((((triple5 triple4) -> rule4)) -> rule8)) -> rule2)) -> rule9))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Erin is kind.
("Erin" "is" "kind" "+")
triple2
((((triple3) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is round.
("Gary" "is" "round" "+")
triple7
Erin is round.
("Erin" "is" "round" "+")
((triple3) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple5 triple4) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple7) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((((triple3) -> (rule8 % int2))) -> (rule3 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((triple5 triple4) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((triple7) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((triple2 ((((triple3) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((((triple3) -> (rule8 % int4)) triple3) -> (rule1 % int3)) ((((triple3) -> (rule8 % int4))) -> (rule3 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
((((((triple3) -> (rule8 % int3))) -> (rule3 % int2)) ((triple3) -> (rule8 % int3))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
((((((triple5 triple4) -> (rule4 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((((((triple7) -> (rule3 % int3)) triple7) -> (rule2 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((triple7) -> (rule3 % int3)) triple7) -> (rule2 % int2))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
((((((((triple3) -> (rule8 % int4))) -> (rule3 % int3)) ((triple3) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((((((triple3) -> (rule8 % int4))) -> (rule3 % int3)) ((triple3) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule9 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((((triple5 triple4) -> (rule4 % int4))) -> (rule8 % int3))) -> (rule3 % int2)) ((((triple5 triple4) -> (rule4 % int4))) -> (rule8 % int3))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5
((((((((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple5 triple4) -> (rule4 % int5))) -> (rule8 % int4))) -> (rule2 % int2))) -> (rule9 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
int5