The Completeness of DRAT, A Technique for Automatic Design of Satisfiability Procedures