Anne is furry. Anne is white. Dave is big. Dave is blue. Erin is green. Fiona is nice. Fiona is white. If someone is furry then they are rough. Big people are furry. White people are furry. If someone is rough then they are nice. If Erin is green then Erin is big. If Fiona is green and Fiona is nice then Fiona is big. Rough, nice people are white. All white people are furry.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is white.
("Anne" "is" "white" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If someone is furry then they are rough.
((("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Big people are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
White people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
If someone is rough then they are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If Erin is green then Erin is big.
((("Erin" "is" "green" "+")) -> ("Erin" "is" "big" "+"))
If Fiona is green and Fiona is nice then Fiona is big.
((("Fiona" "is" "green" "+") ("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "big" "+"))
Rough, nice people are white.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "white" "+"))
All white people are furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
Dave is big.
True
1
proof
[(triple3)]
("Dave" "is" "big" "+")
triple3
Anne is not furry.
False
1
inv-proof
[(triple1 OR ((triple2) -> rule3) OR ((triple2) -> rule8))]
("Anne" "is" "furry" "-")
triple1
((triple2) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple2) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Dave is furry.
True
2
proof
[(((triple3) -> rule2))]
("Dave" "is" "furry" "+")
((triple3) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Fiona is not furry.
False
2
inv-proof
[(((triple7) -> rule3) OR ((triple7) -> rule8))]
("Fiona" "is" "furry" "-")
((triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple7) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
True
3
proof
[(((((triple7) -> rule3)) -> rule1) OR ((((triple7) -> rule8)) -> rule1))]
("Fiona" "is" "rough" "+")
((((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple7) -> (rule8 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not rough.
False
3
inv-proof
[(((((triple7) -> rule3)) -> rule1) OR ((((triple7) -> rule8)) -> rule1))]
("Fiona" "is" "rough" "-")
((((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple7) -> (rule8 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is rough.
True
4
proof
[(((((((triple5) -> rule5)) -> rule2)) -> rule1))]
("Erin" "is" "rough" "+")
((((((triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not rough.
False
4
inv-proof
[(((((((triple5) -> rule5)) -> rule2)) -> rule1))]
("Erin" "is" "rough" "-")
((((((triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Dave is white.
True
8
proof
[(((((((triple3) -> rule2)) -> rule1) ((((((triple3) -> rule2)) -> rule1)) -> rule4)) -> rule7))]
("Dave" "is" "white" "+")
((((((triple3) -> (rule2 % int4))) -> (rule1 % int3)) ((((((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not white.
False
8
inv-proof
[(((((((triple3) -> rule2)) -> rule1) ((((((triple3) -> rule2)) -> rule1)) -> rule4)) -> rule7))]
("Dave" "is" "white" "-")
((((((triple3) -> (rule2 % int4))) -> (rule1 % int3)) ((((((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Erin is white.
True
10
proof
[(((((((((triple5) -> rule5)) -> rule2)) -> rule1) ((((((((triple5) -> rule5)) -> rule2)) -> rule1)) -> rule4)) -> rule7))]
("Erin" "is" "white" "+")
((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3)) ((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Erin is not white.
False
10
inv-proof
[(((((((((triple5) -> rule5)) -> rule2)) -> rule1) ((((((((triple5) -> rule5)) -> rule2)) -> rule1)) -> rule4)) -> rule7))]
("Erin" "is" "white" "-")
((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3)) ((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Fiona is not big.
Unknown
inv-rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "big" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
Anne is not green.
Unknown
inv-random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "-")
Anne is blue.
Unknown
random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
@0: Anne is furry.[(triple1 OR ((triple2) -> rule3) OR ((triple2) -> rule8))] Anne is white.[(triple2 OR ((((triple1) -> rule1) ((((triple1) -> rule1)) -> rule4)) -> rule7))] Dave is big.[(triple3)] Dave is blue.[(triple4)] Erin is green.[(triple5)] Fiona is nice.[(triple6 OR ((((((triple7) -> rule3)) -> rule1)) -> rule4) OR ((((((triple7) -> rule8)) -> rule1)) -> rule4))] Fiona is white.[(triple7)] @1: Anne is rough.[(((triple1) -> rule1) OR ((((triple2) -> rule3)) -> rule1) OR ((((triple2) -> rule8)) -> rule1))] Dave is furry.[(((triple3) -> rule2))] Erin is big.[(((triple5) -> rule5))] Fiona is furry.[(((triple7) -> rule3) OR ((triple7) -> rule8))] @2: Anne is nice.[(((((triple1) -> rule1)) -> rule4) OR ((((((triple2) -> rule3)) -> rule1)) -> rule4) OR ((((((triple2) -> rule8)) -> rule1)) -> rule4))] Dave is rough.[(((((triple3) -> rule2)) -> rule1))] Erin is furry.[(((((triple5) -> rule5)) -> rule2))] Fiona is rough.[(((((triple7) -> rule3)) -> rule1) OR ((((triple7) -> rule8)) -> rule1))] @3: Dave is nice.[(((((((triple3) -> rule2)) -> rule1)) -> rule4))] Erin is rough.[(((((((triple5) -> rule5)) -> rule2)) -> rule1))] @4: Dave is white.[(((((((triple3) -> rule2)) -> rule1) ((((((triple3) -> rule2)) -> rule1)) -> rule4)) -> rule7))] Erin is nice.[(((((((((triple5) -> rule5)) -> rule2)) -> rule1)) -> rule4))] @5: Erin is white.[(((((((((triple5) -> rule5)) -> rule2)) -> rule1) ((((((((triple5) -> rule5)) -> rule2)) -> rule1)) -> rule4)) -> rule7))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
((triple2) -> (rule3 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple2) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple2
((((triple1) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((((((triple7) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple7) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple7
Anne is rough.
("Anne" "is" "rough" "+")
((triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((triple2) -> (rule8 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple3) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple5) -> (rule5 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple7) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((((triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
((((((triple2) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((triple5) -> (rule5 % int2))) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple7) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple7) -> (rule8 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
((((((triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
((((((triple3) -> (rule2 % int4))) -> (rule1 % int3)) ((((((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
((((((((triple5) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3)) ((((((((triple5) -> (rule5 % int5))) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5