src/Pure/Isar/code.ML
changeset 33977 406d8e34a3cf
parent 33974 01dcd9b926bf
parent 33972 daf65be6bfe5
child 34173 458ced35abb8
equal deleted inserted replaced
33976:29b928d32203 33977:406d8e34a3cf
   572          of SOME class => [TFree (Name.aT, [class])]
   572          of SOME class => [TFree (Name.aT, [class])]
   573           | NONE => Name.invent_list [] Name.aT (length tvars)
   573           | NONE => Name.invent_list [] Name.aT (length tvars)
   574               |> map (fn v => TFree (v, []));
   574               |> map (fn v => TFree (v, []));
   575         val ty = typ_subst_TVars (tvars ~~ tvars') raw_ty;
   575         val ty = typ_subst_TVars (tvars ~~ tvars') raw_ty;
   576       in raw_typscheme thy (c, ty) end
   576       in raw_typscheme thy (c, ty) end
   577   | typscheme_eqns thy c (thms as thm :: _) = typscheme_eqn thy thm;
   577   | typscheme_eqns thy c (thm :: _) = typscheme_eqn thy thm;
   578 
   578 
   579 fun assert_eqns_const thy c eqns =
   579 fun assert_eqns_const thy c eqns =
   580   let
   580   let
   581     fun cert (eqn as (thm, _)) = if c = const_eqn thy thm
   581     fun cert (eqn as (thm, _)) = if c = const_eqn thy thm
   582       then eqn else error ("Wrong head of code equation,\nexpected constant "
   582       then eqn else error ("Wrong head of code equation,\nexpected constant "