src/HOLCF/Tools/Domain/domain_theorems.ML
changeset 35486 c91854705b1d
parent 35482 d756837b708d
child 35494 45c9a8278faf
equal deleted inserted replaced
35485:7d7495f5e35e 35486:c91854705b1d
   118 local
   118 local
   119   fun ga s dn = PureThy.get_thm thy (dn ^ "." ^ s);
   119   fun ga s dn = PureThy.get_thm thy (dn ^ "." ^ s);
   120 in
   120 in
   121   val ax_abs_iso  = ga "abs_iso"  dname;
   121   val ax_abs_iso  = ga "abs_iso"  dname;
   122   val ax_rep_iso  = ga "rep_iso"  dname;
   122   val ax_rep_iso  = ga "rep_iso"  dname;
   123   val ax_when_def = ga "when_def" dname;
       
   124   val ax_copy_def = ga "copy_def" dname;
   123   val ax_copy_def = ga "copy_def" dname;
   125 end; (* local *)
   124 end; (* local *)
   126 
   125 
   127 (* ----- define constructors ------------------------------------------------ *)
   126 (* ----- define constructors ------------------------------------------------ *)
   128 
   127 
   152     rep_inverse = ax_rep_iso
   151     rep_inverse = ax_rep_iso
   153   };
   152   };
   154 
   153 
   155 val (result, thy) =
   154 val (result, thy) =
   156   Domain_Constructors.add_domain_constructors
   155   Domain_Constructors.add_domain_constructors
   157     (Long_Name.base_name dname) (snd dom_eqn) iso_info ax_when_def thy;
   156     (Long_Name.base_name dname) (snd dom_eqn) iso_info thy;
   158 
   157 
   159 val con_appls = #con_betas result;
   158 val con_appls = #con_betas result;
   160 val {exhaust, casedist, ...} = result;
   159 val {exhaust, casedist, ...} = result;
   161 val {con_compacts, con_rews, inverts, injects, dist_les, dist_eqs, ...} = result;
   160 val {con_compacts, con_rews, inverts, injects, dist_les, dist_eqs, ...} = result;
   162 val {sel_rews, ...} = result;
   161 val {sel_rews, ...} = result;