src/ZF/Tools/inductive_package.ML
changeset 82695 d93ead9ac6df
parent 80636 4041e7c8059d
equal deleted inserted replaced
82692:8f0b2daa7eaa 82695:d93ead9ac6df
   339 
   339 
   340 
   340 
   341      (*We use a MINIMAL simpset. Even FOL_ss contains too many simpules.
   341      (*We use a MINIMAL simpset. Even FOL_ss contains too many simpules.
   342        If the premises get simplified, then the proofs could fail.*)
   342        If the premises get simplified, then the proofs could fail.*)
   343      val min_ss =
   343      val min_ss =
   344            (empty_simpset ctxt4
   344            empty_simpset ctxt4
   345              |> Simplifier.set_mksimps (fn ctxt => map mk_eq o ZF_atomize o Variable.gen_all ctxt))
   345            |> Simplifier.set_mksimps (fn ctxt => map mk_eq o ZF_atomize o Variable.gen_all ctxt)
   346            setSolver (mk_solver "minimal"
   346            |> Simplifier.set_unsafe_solver (mk_solver "minimal"
   347                       (fn ctxt => resolve_tac ctxt (triv_rls @ Simplifier.prems_of ctxt)
   347                       (fn ctxt => resolve_tac ctxt (triv_rls @ Simplifier.prems_of ctxt)
   348                                    ORELSE' assume_tac ctxt
   348                                    ORELSE' assume_tac ctxt
   349                                    ORELSE' eresolve_tac ctxt @{thms FalseE}));
   349                                    ORELSE' eresolve_tac ctxt @{thms FalseE}));
   350 
   350 
   351      val quant_induct =
   351      val quant_induct =