src/Tools/Code/code_preproc.ML
changeset 65026 49c537d87896
parent 63164 72aaf69328fc
child 66332 489667636064
equal deleted inserted replaced
65025:8c32ce2a01c6 65026:49c537d87896
   237     val pre = (#pre o the_thmproc) thy;
   237     val pre = (#pre o the_thmproc) thy;
   238     val post = (#post o the_thmproc) thy;
   238     val post = (#post o the_thmproc) thy;
   239     fun pre_conv ctxt' =
   239     fun pre_conv ctxt' =
   240       Simplifier.rewrite (put_simpset pre ctxt')
   240       Simplifier.rewrite (put_simpset pre ctxt')
   241       #> trans_conv_rule (Axclass.unoverload_conv ctxt')
   241       #> trans_conv_rule (Axclass.unoverload_conv ctxt')
       
   242       #> trans_conv_rule (Thm.eta_conversion);
   242     fun post_conv ctxt'' =
   243     fun post_conv ctxt'' =
   243       Axclass.overload_conv ctxt''
   244       Axclass.overload_conv ctxt''
   244       #> trans_conv_rule (Simplifier.rewrite (put_simpset post ctxt''))
   245       #> trans_conv_rule (Simplifier.rewrite (put_simpset post ctxt''));
   245   in
   246   in
   246     fn ctxt' => timed_conv "preprocessing term" pre_conv ctxt'
   247     fn ctxt' => timed_conv "preprocessing term" pre_conv ctxt'
   247       #> pair (timed_conv "postprocessing term" post_conv)
   248       #> pair (timed_conv "postprocessing term" post_conv)
   248   end;
   249   end;
   249 
   250