src/HOL/Tools/BNF/bnf_axiomatization.ML
changeset 63064 2f18172214c8
parent 62698 9d706e37ddab
child 63178 b9e1d53124f5
equal deleted inserted replaced
63063:c9605a284fba 63064:2f18172214c8
    80     fun mk_wits_tac ctxt set_maps = TRYALL Goal.conjunction_tac THEN the triv_tac_opt ctxt set_maps;
    80     fun mk_wits_tac ctxt set_maps = TRYALL Goal.conjunction_tac THEN the triv_tac_opt ctxt set_maps;
    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) = Local_Theory.background_theory_result
    84     val (((_, [raw_thms])), 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 
    86 
    87     fun mk_wit_thms set_maps =
    87     fun mk_wit_thms set_maps =
    88       Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced wit_goals)
    88       Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced wit_goals)
    89         (fn {context = ctxt, prems = _} => mk_wits_tac ctxt set_maps)
    89         (fn {context = ctxt, prems = _} => mk_wits_tac ctxt set_maps)
    90       |> Thm.close_derivation
    90       |> Thm.close_derivation