src/HOL/Tools/Datatype/datatype.ML
changeset 35994 9cc3df9a606e
parent 35842 7c170d39a808
child 36148 4ddcc2b07891
equal deleted inserted replaced
35993:380b97496734 35994:9cc3df9a606e
   274 
   274 
   275     (*********** isomorphisms for new types (introduced by typedef) ***********)
   275     (*********** isomorphisms for new types (introduced by typedef) ***********)
   276 
   276 
   277     val _ = message config "Proving isomorphism properties ...";
   277     val _ = message config "Proving isomorphism properties ...";
   278 
   278 
   279     val newT_iso_axms = map (fn (_, td) =>
   279     val newT_iso_axms = map (fn (_, (_, td)) =>
   280       (collect_simp (#Abs_inverse td), #Rep_inverse td,
   280       (collect_simp (#Abs_inverse td), #Rep_inverse td,
   281        collect_simp (#Rep td))) typedefs;
   281        collect_simp (#Rep td))) typedefs;
   282 
   282 
   283     val newT_iso_inj_thms = map (fn (_, td) =>
   283     val newT_iso_inj_thms = map (fn (_, (_, td)) =>
   284       (collect_simp (#Abs_inject td) RS iffD1, #Rep_inject td RS iffD1)) typedefs;
   284       (collect_simp (#Abs_inject td) RS iffD1, #Rep_inject td RS iffD1)) typedefs;
   285 
   285 
   286     (********* isomorphisms between existing types and "unfolded" types *******)
   286     (********* isomorphisms between existing types and "unfolded" types *******)
   287 
   287 
   288     (*---------------------------------------------------------------------*)
   288     (*---------------------------------------------------------------------*)