src/HOL/Decision_Procs/ferrante_rackoff.ML
changeset 60818 5e11a6e2b044
parent 60801 7664e0916eec
child 61075 f6b0d827240e
equal deleted inserted replaced
60817:3f38ed5a02c1 60818:5e11a6e2b044
   204       (put_simpset HOL_basic_ss ctxt addsimps
   204       (put_simpset HOL_basic_ss ctxt addsimps
   205         @{thms simp_thms ex_simps all_simps not_all all_not_ex ex_disj_distrib}), ss);
   205         @{thms simp_thms ex_simps all_simps not_all all_not_ex ex_disj_distrib}), ss);
   206    val pcv = Simplifier.rewrite (put_simpset ss' ctxt);
   206    val pcv = Simplifier.rewrite (put_simpset ss' ctxt);
   207    val postcv = Simplifier.rewrite (put_simpset ss ctxt);
   207    val postcv = Simplifier.rewrite (put_simpset ss ctxt);
   208    val nnf = K (nnf_conv ctxt then_conv postcv)
   208    val nnf = K (nnf_conv ctxt then_conv postcv)
   209    val qe_conv = Qelim.gen_qelim_conv pcv postcv pcv cons (Thm.add_cterm_frees tm [])
   209    val qe_conv = Qelim.gen_qelim_conv pcv postcv pcv cons (Drule.cterm_add_frees tm [])
   210                   (isolate_conv ctxt) nnf
   210                   (isolate_conv ctxt) nnf
   211                   (fn vs => ferrack_conv ctxt (thy,{isolate_conv = isolate_conv ctxt,
   211                   (fn vs => ferrack_conv ctxt (thy,{isolate_conv = isolate_conv ctxt,
   212                                                whatis = whatis, simpset = ss}) vs
   212                                                whatis = whatis, simpset = ss}) vs
   213                    then_conv postcv)
   213                    then_conv postcv)
   214  in (Simplifier.rewrite (put_simpset ss ctxt) then_conv qe_conv) tm end;
   214  in (Simplifier.rewrite (put_simpset ss ctxt) then_conv qe_conv) tm end;