A computing procedure for quantification theory