src/HOL/Library/bnf_axiomatization.ML
changeset 62514 aae510e9a698
parent 62324 ae44f16dcea5
child 62531 b5d656bf0441
equal deleted inserted replaced
62513:702085ca8564 62514:aae510e9a698
    81     val wit_goals = map Logic.mk_conjunction_balanced wit_goalss;
    81     val wit_goals = map Logic.mk_conjunction_balanced wit_goalss;
    82     val all_goalss = map single goals @ (if nwits > 0 then wit_goalss else []);
    82     val all_goalss = map single goals @ (if nwits > 0 then wit_goalss else []);
    83 
    83 
    84     val (((_, [raw_thms])), (lthy_old, lthy)) = Local_Theory.background_theory_result
    84     val (((_, [raw_thms])), (lthy_old, lthy)) = Local_Theory.background_theory_result
    85       (Specification.axiomatization [] [((mk_b "axioms" Binding.empty, []), flat all_goalss)]) lthy
    85       (Specification.axiomatization [] [((mk_b "axioms" Binding.empty, []), flat all_goalss)]) lthy
    86       ||> `Local_Theory.restore;
    86       ||> `Local_Theory.reset;
    87 
    87 
    88     fun mk_wit_thms set_maps =
    88     fun mk_wit_thms set_maps =
    89       Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced wit_goals)
    89       Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced wit_goals)
    90         (fn {context = ctxt, prems = _} => mk_wits_tac ctxt set_maps)
    90         (fn {context = ctxt, prems = _} => mk_wits_tac ctxt set_maps)
    91       |> Thm.close_derivation
    91       |> Thm.close_derivation