src/ZF/Tools/inductive_package.ML
changeset 60822 4f58f3662e7d
parent 60774 6c28d8ed2488
child 61268 abe08fb15a12
equal deleted inserted replaced
60821:f7f4d5f7920e 60822:4f58f3662e7d
   325 
   325 
   326      (*We use a MINIMAL simpset. Even FOL_ss contains too many simpules.
   326      (*We use a MINIMAL simpset. Even FOL_ss contains too many simpules.
   327        If the premises get simplified, then the proofs could fail.*)
   327        If the premises get simplified, then the proofs could fail.*)
   328      val min_ss =
   328      val min_ss =
   329            (empty_simpset (Proof_Context.init_global thy)
   329            (empty_simpset (Proof_Context.init_global thy)
   330              |> Simplifier.set_mksimps (fn ctxt =>
   330              |> Simplifier.set_mksimps (fn ctxt => map mk_eq o ZF_atomize o Variable.gen_all ctxt))
   331                  map mk_eq o ZF_atomize o Drule.gen_all (Variable.maxidx_of ctxt)))
       
   332            setSolver (mk_solver "minimal"
   331            setSolver (mk_solver "minimal"
   333                       (fn ctxt => resolve_tac ctxt (triv_rls @ Simplifier.prems_of ctxt)
   332                       (fn ctxt => resolve_tac ctxt (triv_rls @ Simplifier.prems_of ctxt)
   334                                    ORELSE' assume_tac ctxt
   333                                    ORELSE' assume_tac ctxt
   335                                    ORELSE' eresolve_tac ctxt @{thms FalseE}));
   334                                    ORELSE' eresolve_tac ctxt @{thms FalseE}));
   336 
   335