equal
deleted
inserted
replaced
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) |