Anne is furry. Erin is furry. Erin is red. Erin is not smart. Fiona is red. Fiona is smart. Gary is not furry. Gary is not red. Gary is smart. Gary is not white. Gary is not young. All nice things are furry. All red things are furry. White, green things are not furry. All green things are not white. All furry things are young. Nice things are green. All young, red things are nice. All white, nice things are red.
Anne is furry.
("Anne" "is" "furry" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is not smart.
("Erin" "is" "smart" "-")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is not furry.
("Gary" "is" "furry" "-")
Gary is not red.
("Gary" "is" "red" "-")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is not white.
("Gary" "is" "white" "-")
Gary is not young.
("Gary" "is" "young" "-")
All nice things are furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
All red things are furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
White, green things are not furry.
((("something" "is" "white" "+") ("something" "is" "green" "+")) -> ("something" "is" "furry" "-"))
All green things are not white.
((("something" "is" "green" "+")) -> ("something" "is" "white" "-"))
All furry things are young.
((("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Nice things are green.
((("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
All young, red things are nice.
((("something" "is" "young" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
All white, nice things are red.
((("something" "is" "white" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
Erin is red.
True
1
proof
[(triple3)]
("Erin" "is" "red" "+")
triple3
Erin is not furry.
False
1
inv-proof
[(triple2 OR ((triple3) -> rule2))]
("Erin" "is" "furry" "-")
triple2
((triple3) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Anne is young.
True
2
proof
[(((triple1) -> rule5))]
("Anne" "is" "young" "+")
((triple1) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple2) -> rule5) OR ((((triple3) -> rule2)) -> rule5))]
("Erin" "is" "young" "-")
((triple2) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is nice.
True
4
proof
[(((((triple2) -> rule5) triple3) -> rule7) OR ((((((triple3) -> rule2)) -> rule5) triple3) -> rule7))]
("Erin" "is" "nice" "+")
((((triple2) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple3) -> (rule2 % int3))) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Fiona is not young.
False
3
inv-proof
[(((((triple5) -> rule2)) -> rule5))]
("Fiona" "is" "young" "-")
((((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is green.
True
5
proof
[(((((((triple2) -> rule5) triple3) -> rule7)) -> rule6) OR ((((((((triple3) -> rule2)) -> rule5) triple3) -> rule7)) -> rule6))]
("Erin" "is" "green" "+")
((((((triple2) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((((triple3) -> (rule2 % int4))) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is not green.
False
5
inv-proof
[(((((((triple2) -> rule5) triple3) -> rule7)) -> rule6) OR ((((((((triple3) -> rule2)) -> rule5) triple3) -> rule7)) -> rule6))]
("Erin" "is" "green" "-")
((((((triple2) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((((triple3) -> (rule2 % int4))) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is not white.
True
6
proof
[(((((((((triple2) -> rule5) triple3) -> rule7)) -> rule6)) -> rule4) OR ((((((((((triple3) -> rule2)) -> rule5) triple3) -> rule7)) -> rule6)) -> rule4))]
("Erin" "is" "white" "-")
((((((((triple2) -> (rule5 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is not white.
("Erin" "is" "white" "-")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
((((((((((triple3) -> (rule2 % int5))) -> (rule5 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is not white.
("Erin" "is" "white" "-")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
int5
Fiona is not green.
False
6
inv-proof
[(((((((((triple5) -> rule2)) -> rule5) triple5) -> rule7)) -> rule6))]
("Fiona" "is" "green" "-")
((((((((triple5) -> (rule2 % int4))) -> (rule5 % int3)) triple5) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Fiona is not white.
True
7
proof
[(((((((((((triple5) -> rule2)) -> rule5) triple5) -> rule7)) -> rule6)) -> rule4))]
("Fiona" "is" "white" "-")
((((((((((triple5) -> (rule2 % int5))) -> (rule5 % int4)) triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
int5
Fiona is white.
False
7
inv-proof
[(((((((((((triple5) -> rule2)) -> rule5) triple5) -> rule7)) -> rule6)) -> rule4))]
("Fiona" "is" "white" "+")
((((((((((triple5) -> (rule2 % int5))) -> (rule5 % int4)) triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
int5
Gary is not nice.
Unknown
inv-rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "nice" "-")
Anne is red.
Unknown
rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "red" "+")
Anne is not nice.
Unknown
inv-rconc
[@2: Anne is nice.[CWA. Example of deepest failure = (rule7 <- rule8 <- FAIL)]]
("Anne" "is" "nice" "-")
Gary is green.
Unknown
rconc
[@2: Gary is green.[CWA. Example of deepest failure = (rule6 <- rule7 <- FAIL)]]
("Gary" "is" "green" "+")
Anne is not green.
Unknown
inv-rconc
[@3: Anne is green.[CWA. Example of deepest failure = (rule6 <- rule7 <- rule8 <- FAIL)]]
("Anne" "is" "green" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is furry.[(triple1)] Erin is furry.[(triple2 OR ((triple3) -> rule2))] Erin is not smart.[(triple4)] Erin is red.[(triple3)] Fiona is red.[(triple5)] Fiona is smart.[(triple6)] Gary is not furry.[(triple7)] Gary is not red.[(triple8)] Gary is not white.[(triple10)] Gary is not young.[(triple11)] Gary is smart.[(triple9)] @1: Anne is young.[(((triple1) -> rule5))] Erin is young.[(((triple2) -> rule5) OR ((((triple3) -> rule2)) -> rule5))] Fiona is furry.[(((triple5) -> rule2))] @2: Erin is nice.[(((((triple2) -> rule5) triple3) -> rule7) OR ((((((triple3) -> rule2)) -> rule5) triple3) -> rule7))] Fiona is young.[(((((triple5) -> rule2)) -> rule5))] @3: Erin is green.[(((((((triple2) -> rule5) triple3) -> rule7)) -> rule6) OR ((((((((triple3) -> rule2)) -> rule5) triple3) -> rule7)) -> rule6))] Fiona is nice.[(((((((triple5) -> rule2)) -> rule5) triple5) -> rule7))] @4: Erin is not white.[(((((((((triple2) -> rule5) triple3) -> rule7)) -> rule6)) -> rule4) OR ((((((((((triple3) -> rule2)) -> rule5) triple3) -> rule7)) -> rule6)) -> rule4))] Fiona is green.[(((((((((triple5) -> rule2)) -> rule5) triple5) -> rule7)) -> rule6))] @5: Fiona is not white.[(((((((((((triple5) -> rule2)) -> rule5) triple5) -> rule7)) -> rule6)) -> rule4))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
((triple3) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is not smart.
("Erin" "is" "smart" "-")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
Gary is not furry.
("Gary" "is" "furry" "-")
triple7
Gary is not red.
("Gary" "is" "red" "-")
triple8
Gary is not white.
("Gary" "is" "white" "-")
triple10
Gary is not young.
("Gary" "is" "young" "-")
triple11
Gary is smart.
("Gary" "is" "smart" "+")
triple9
Anne is young.
("Anne" "is" "young" "+")
((triple1) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple2) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple5) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((((triple2) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple3) -> (rule2 % int3))) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((((((triple2) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
((((((((triple3) -> (rule2 % int4))) -> (rule5 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((triple5) -> (rule2 % int3))) -> (rule5 % int2)) triple5) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Erin is not white.
("Erin" "is" "white" "-")
((((((((triple2) -> (rule5 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is not white.
("Erin" "is" "white" "-")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
((((((((((triple3) -> (rule2 % int5))) -> (rule5 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is not white.
("Erin" "is" "white" "-")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is furry.
("Erin" "is" "furry" "+")
int5
Fiona is green.
("Fiona" "is" "green" "+")
((((((((triple5) -> (rule2 % int4))) -> (rule5 % int3)) triple5) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Fiona is not white.
("Fiona" "is" "white" "-")
((((((((((triple5) -> (rule2 % int5))) -> (rule5 % int4)) triple5) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is not white.
("Fiona" "is" "white" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
int5