src/HOL/Tools/Function/partial_function.ML
changeset 74530 823ccd84b879
parent 74526 bbfed17243af
child 74561 8e6c973003c8
equal deleted inserted replaced
74529:a1aa42743d7d 74530:823ccd84b879
   258 
   258 
   259     val mono_goal = apply_inst lthy mono (lambda f_uc (F_uc $ f_uc $ x_uc))
   259     val mono_goal = apply_inst lthy mono (lambda f_uc (F_uc $ f_uc $ x_uc))
   260       |> HOLogic.mk_Trueprop
   260       |> HOLogic.mk_Trueprop
   261       |> Logic.all x_uc;
   261       |> Logic.all x_uc;
   262 
   262 
   263     val mono_thm =
   263     val mono_thm = Goal.prove_internal lthy [] (Thm.cterm_of lthy mono_goal)
   264       Goal.prove_internal lthy [] (Thm.cterm_of lthy mono_goal)
   264         (K (mono_tac lthy 1))
   265         (fn {context = goal_ctxt, ...} => mono_tac goal_ctxt 1)
       
   266     val inst_mono_thm = Thm.forall_elim (Thm.cterm_of lthy x_uc) mono_thm
   265     val inst_mono_thm = Thm.forall_elim (Thm.cterm_of lthy x_uc) mono_thm
   267 
   266 
   268     val f_def_rhs = curry_n arity (apply_inst lthy fixp F_uc);
   267     val f_def_rhs = curry_n arity (apply_inst lthy fixp F_uc);
   269     val f_def_binding =
   268     val f_def_binding =
   270       Thm.make_def_binding (Config.get lthy Function_Lib.function_internals) f_binding
   269       Thm.make_def_binding (Config.get lthy Function_Lib.function_internals) f_binding