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