Dave is big. Dave is nice. Dave is quiet. Erin is big. Erin is nice. Erin is rough. Erin is young. All nice things are big. Blue things are rough. If something is quiet and big then it is rough. If Dave is big and Dave is nice then Dave is furry. Blue, rough things are furry. If something is young then it is blue. All young things are blue. If Erin is furry and Erin is big then Erin is quiet.
Dave is big.
("Dave" "is" "big" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is young.
("Erin" "is" "young" "+")
All nice things are big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Blue things are rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
If something is quiet and big then it is rough.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If Dave is big and Dave is nice then Dave is furry.
((("Dave" "is" "big" "+") ("Dave" "is" "nice" "+")) -> ("Dave" "is" "furry" "+"))
Blue, rough things are furry.
((("something" "is" "blue" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
If something is young then it is blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
All young things are blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
If Erin is furry and Erin is big then Erin is quiet.
((("Erin" "is" "furry" "+") ("Erin" "is" "big" "+")) -> ("Erin" "is" "quiet" "+"))
Dave is quiet.
True
1
proof
[(triple3)]
("Dave" "is" "quiet" "+")
triple3
Dave is not big.
False
1
inv-proof
[(triple1 OR ((triple2) -> rule1))]
("Dave" "is" "big" "-")
triple1
((triple2) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
True
3
proof
[(((triple3 triple1) -> rule3) OR ((triple3 ((triple2) -> rule1)) -> rule3))]
("Dave" "is" "rough" "+")
((triple3 triple1) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Erin is not blue.
False
2
inv-proof
[(((triple7) -> rule6) OR ((triple7) -> rule7))]
("Erin" "is" "blue" "-")
((triple7) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple7) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
True
4
proof
[(((((triple7) -> rule6) triple6) -> rule5) OR ((((triple7) -> rule7) triple6) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule7)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule2)) -> rule5))]
("Erin" "is" "furry" "+")
((((triple7) -> (rule6 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is not furry.
False
4
inv-proof
[(((((triple7) -> rule6) triple6) -> rule5) OR ((((triple7) -> rule7) triple6) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule7)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule2)) -> rule5))]
("Erin" "is" "furry" "-")
((((triple7) -> (rule6 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Dave is not blue.
Unknown
inv-rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "blue" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Dave is big.[(triple1 OR ((triple2) -> rule1))] Dave is nice.[(triple2)] Dave is quiet.[(triple3)] Erin is big.[(triple4 OR ((triple5) -> rule1))] Erin is nice.[(triple5)] Erin is rough.[(triple6 OR ((((triple7) -> rule6)) -> rule2) OR ((((triple7) -> rule7)) -> rule2))] Erin is young.[(triple7)] @1: Dave is furry.[(((triple1 triple2) -> rule4) OR ((((triple2) -> rule1) triple2) -> rule4))] Dave is rough.[(((triple3 triple1) -> rule3) OR ((triple3 ((triple2) -> rule1)) -> rule3))] Erin is blue.[(((triple7) -> rule6) OR ((triple7) -> rule7))] @2: Erin is furry.[(((((triple7) -> rule6) triple6) -> rule5) OR ((((triple7) -> rule7) triple6) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule6) ((((triple7) -> rule7)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule6)) -> rule2)) -> rule5) OR ((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule2)) -> rule5))] @3: Erin is quiet.[(((((((triple7) -> rule6) triple6) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule7) triple6) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule6) triple6) -> rule5) ((triple5) -> rule1)) -> rule8) OR ((((((triple7) -> rule7) triple6) -> rule5) ((triple5) -> rule1)) -> rule8) OR ((((((triple7) -> rule6) ((((triple7) -> rule6)) -> rule2)) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule6) ((((triple7) -> rule7)) -> rule2)) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule7) ((((triple7) -> rule6)) -> rule2)) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule2)) -> rule5) triple4) -> rule8) OR ((((((triple7) -> rule6) ((((triple7) -> rule6)) -> rule2)) -> rule5) ((triple5) -> rule1)) -> rule8) OR ((((((triple7) -> rule6) ((((triple7) -> rule7)) -> rule2)) -> rule5) ((triple5) -> rule1)) -> rule8) OR ((((((triple7) -> rule7) ((((triple7) -> rule6)) -> rule2)) -> rule5) ((triple5) -> rule1)) -> rule8) OR ((((((triple7) -> rule7) ((((triple7) -> rule7)) -> rule2)) -> rule5) ((triple5) -> rule1)) -> rule8))]
Dave is big.
("Dave" "is" "big" "+")
triple1
((triple2) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple3
Erin is big.
("Erin" "is" "big" "+")
triple4
((triple5) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple5
Erin is rough.
("Erin" "is" "rough" "+")
triple6
((((triple7) -> (rule6 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule7 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
triple7
Dave is furry.
("Dave" "is" "furry" "+")
((triple1 triple2) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple2) -> (rule1 % int2)) triple2) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
((triple3 triple1) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((triple7) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple7) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((((triple7) -> (rule6 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule6 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((((((triple7) -> (rule6 % int3)) triple6) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple7) -> (rule7 % int3)) triple6) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((((((triple7) -> (rule6 % int4)) triple6) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule7 % int4)) triple6) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule6 % int4)) ((((triple7) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule6 % int4)) ((((triple7) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule7 % int4)) ((((triple7) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule7 % int4)) ((((triple7) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
((((((triple7) -> (rule6 % int5)) ((((triple7) -> (rule6 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5
((((((triple7) -> (rule6 % int5)) ((((triple7) -> (rule7 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5
((((((triple7) -> (rule7 % int5)) ((((triple7) -> (rule6 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5
((((((triple7) -> (rule7 % int5)) ((((triple7) -> (rule7 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5