src/HOL/Tools/BNF/bnf_fp_n2m_sugar.ML
changeset 58948 f6ecc0fb2066
parent 58734 20235f0512e2
child 59040 ac836bcddb3b
equal deleted inserted replaced
58947:79684150ed6a 58948:f6ecc0fb2066
   440                 [] => fresh_tyargs ()
   440                 [] => fresh_tyargs ()
   441               | gen_tyargs :: gen_tyargss_tl =>
   441               | gen_tyargs :: gen_tyargss_tl =>
   442                 let
   442                 let
   443                   val unify_pairs = split_list (maps (curry (op ~~) gen_tyargs) gen_tyargss_tl);
   443                   val unify_pairs = split_list (maps (curry (op ~~) gen_tyargs) gen_tyargss_tl);
   444                   val mgu = Type.raw_unifys unify_pairs Vartab.empty;
   444                   val mgu = Type.raw_unifys unify_pairs Vartab.empty;
   445                   val gen_tyargs' = map (Envir.subst_type mgu) gen_tyargs;
   445                   val gen_tyargs' = map (Envir.norm_type mgu) gen_tyargs;
   446                   val gen_seen' = map (Envir.subst_type mgu) gen_seen;
   446                   val gen_seen' = map (Envir.norm_type mgu) gen_seen;
   447                 in
   447                 in
   448                   (rho, gen_tyargs', gen_seen', lthy)
   448                   (rho, gen_tyargs', gen_seen', lthy)
   449                 end)
   449                 end)
   450             else
   450             else
   451               fresh_tyargs ();
   451               fresh_tyargs ();