Bob is quiet. Charlie is green. Erin is red. Erin is white. Fiona is furry. Fiona is green. Fiona is kind. Fiona is quiet. Fiona is rough. Fiona is white. Red people are kind. If Fiona is white then Fiona is red. If Fiona is rough then Fiona is red. Rough people are red. If someone is quiet then they are rough. White, kind people are rough. If Erin is kind then Erin is rough. If Erin is rough and Erin is white then Erin is green.
Bob is quiet.
("Bob" "is" "quiet" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Red people are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is white then Fiona is red.
((("Fiona" "is" "white" "+")) -> ("Fiona" "is" "red" "+"))
If Fiona is rough then Fiona is red.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "red" "+"))
Rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
If someone is quiet then they are rough.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "rough" "+"))
White, kind people are rough.
((("someone" "is" "white" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
If Erin is kind then Erin is rough.
((("Erin" "is" "kind" "+")) -> ("Erin" "is" "rough" "+"))
If Erin is rough and Erin is white then Erin is green.
((("Erin" "is" "rough" "+") ("Erin" "is" "white" "+")) -> ("Erin" "is" "green" "+"))
Fiona is kind.
True
1
proof
[(triple7 OR ((((triple10) -> rule2)) -> rule1) OR ((((triple9) -> rule3)) -> rule1) OR ((((triple9) -> rule4)) -> rule1) OR ((((((triple8) -> rule5)) -> rule3)) -> rule1) OR ((((((triple8) -> rule5)) -> rule4)) -> rule1))]
("Fiona" "is" "kind" "+")
triple7
((((triple10) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple9) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple9) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((((triple8) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is not quiet.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "quiet" "-")
triple8
Bob is rough.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "rough" "+")
((triple1) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Erin is not kind.
False
2
inv-proof
[(((triple3) -> rule1))]
("Erin" "is" "kind" "-")
((triple3) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
True
3
proof
[(((((triple3) -> rule1)) -> rule7) OR ((triple4 ((triple3) -> rule1)) -> rule6))]
("Erin" "is" "rough" "+")
((((triple3) -> (rule1 % int2))) -> (rule7 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((triple4 ((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Bob is not red.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule4))]
("Bob" "is" "red" "-")
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Erin is green.
True
5
proof
[(((((((triple3) -> rule1)) -> rule7) triple4) -> rule8) OR ((((triple4 ((triple3) -> rule1)) -> rule6) triple4) -> rule8))]
("Erin" "is" "green" "+")
((((((triple3) -> (rule1 % int3))) -> (rule7 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple4 ((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is not green.
False
5
inv-proof
[(((((((triple3) -> rule1)) -> rule7) triple4) -> rule8) OR ((((triple4 ((triple3) -> rule1)) -> rule6) triple4) -> rule8))]
("Erin" "is" "green" "-")
((((((triple3) -> (rule1 % int3))) -> (rule7 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple4 ((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Charlie is not red.
Unknown
inv-rconc
[@2: Charlie is red.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is rough.
Unknown
rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not kind.
Unknown
inv-rconc
[@3: Charlie is kind.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule5 <- FAIL)]]
("Charlie" "is" "kind" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
Charlie is not quiet.
Unknown
inv-random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is quiet.[(triple1)] Charlie is green.[(triple2)] Erin is red.[(triple3)] Erin is white.[(triple4)] Fiona is furry.[(triple5)] Fiona is green.[(triple6)] Fiona is kind.[(triple7 OR ((((triple10) -> rule2)) -> rule1) OR ((((triple9) -> rule3)) -> rule1) OR ((((triple9) -> rule4)) -> rule1) OR ((((((triple8) -> rule5)) -> rule3)) -> rule1) OR ((((((triple8) -> rule5)) -> rule4)) -> rule1))] Fiona is quiet.[(triple8)] Fiona is rough.[(triple9 OR ((triple8) -> rule5) OR ((triple10 triple7) -> rule6) OR ((triple10 ((((triple10) -> rule2)) -> rule1)) -> rule6))] Fiona is white.[(triple10)] @1: Bob is rough.[(((triple1) -> rule5))] Erin is kind.[(((triple3) -> rule1))] Fiona is red.[(((triple10) -> rule2) OR ((triple9) -> rule3) OR ((triple9) -> rule4) OR ((((triple8) -> rule5)) -> rule3) OR ((((triple8) -> rule5)) -> rule4) OR ((((triple10 triple7) -> rule6)) -> rule3) OR ((((triple10 triple7) -> rule6)) -> rule4))] @2: Bob is red.[(((((triple1) -> rule5)) -> rule4))] Erin is rough.[(((((triple3) -> rule1)) -> rule7) OR ((triple4 ((triple3) -> rule1)) -> rule6))] @3: Bob is kind.[(((((((triple1) -> rule5)) -> rule4)) -> rule1))] Erin is green.[(((((((triple3) -> rule1)) -> rule7) triple4) -> rule8) OR ((((triple4 ((triple3) -> rule1)) -> rule6) triple4) -> rule8))]
Bob is quiet.
("Bob" "is" "quiet" "+")
triple1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Erin is red.
("Erin" "is" "red" "+")
triple3
Erin is white.
("Erin" "is" "white" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
((((triple10) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple9) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((triple9) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((((triple8) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple8
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
((triple8) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple10 triple7) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple10 ((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple10
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple3) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple10) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple9) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple9) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple8) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple10 triple7) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple10 triple7) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((((triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
((((triple3) -> (rule1 % int2))) -> (rule7 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((triple4 ((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((((((triple1) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
((((((triple3) -> (rule1 % int3))) -> (rule7 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple4 ((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3