Statestep (which includes Python code generation) might be something to look at. It's designed to help the user create simplified rules to begin with rather than derive them post hoc (it's really for much bigger problems where enumerating individual rules like you've done would be impractical) ... However, if you start with an "exploded" set of atomic rules like you now have, you could create simplified rules yourself, progressively deleting the rules you are replacing (identified as overlaps by Statestep); this way, at least the tool is checking the correctness of the transformation from individual to simplified rules (if you make a mistake then a conflict will be reported rather than an overlap).
Michael -- http://mail.python.org/mailman/listinfo/python-list