Drools Inference and Truth Maintenance for good rule design and maintenance