Propositional Model Checking Algorithm Design