src/Pure/Isar/class.ML
changeset 52788 da1fdbfebd39
parent 52732 b4da1f2ec73f
child 53171 a5e54d4d9081
equal deleted inserted replaced
52787:c143ad7811fc 52788:da1fdbfebd39
   564       (case lookup_inst_param (c, ty) of
   564       (case lookup_inst_param (c, ty) of
   565         SOME (_, ty') => if Sign.typ_instance thy (ty', ty) then SOME (ty, ty') else NONE
   565         SOME (_, ty') => if Sign.typ_instance thy (ty', ty) then SOME (ty, ty') else NONE
   566       | NONE => NONE);
   566       | NONE => NONE);
   567   in
   567   in
   568     thy
   568     thy
   569     |> Theory.checkpoint
       
   570     |> Proof_Context.init_global
   569     |> Proof_Context.init_global
   571     |> Instantiation.put (mk_instantiation ((tycos, vs, sort), params))
   570     |> Instantiation.put (mk_instantiation ((tycos, vs, sort), params))
   572     |> fold (Variable.declare_typ o TFree) vs
   571     |> fold (Variable.declare_typ o TFree) vs
   573     |> fold (Variable.declare_names o Free o snd) params
   572     |> fold (Variable.declare_names o Free o snd) params
   574     |> (Overloading.map_improvable_syntax o apfst)
   573     |> (Overloading.map_improvable_syntax o apfst)