src/Pure/Isar/class.ML
changeset 68351 bcdc4c21ab1d
parent 68350 7fafc8a01915
child 68851 6c9825c1e26b
equal deleted inserted replaced
68350:7fafc8a01915 68351:bcdc4c21ab1d
   375   in (type_params, dangling_term_params) end;
   375   in (type_params, dangling_term_params) end;
   376 
   376 
   377 fun global_def (b, eq) thy =
   377 fun global_def (b, eq) thy =
   378   let
   378   let
   379     val ((_, def_thm), thy') = thy |> Thm.add_def_global false false (b, eq);
   379     val ((_, def_thm), thy') = thy |> Thm.add_def_global false false (b, eq);
   380     val def_thm' = def_thm |> Thm.varifyT_global;
   380     val def_thm' = def_thm |> Thm.forall_intr_frees |> Thm.forall_elim_vars 0 |> Thm.varifyT_global;
   381     val (_, thy'') = thy' |> Global_Theory.store_thm (b, def_thm');
   381     val (_, thy'') = thy' |> Global_Theory.store_thm (b, def_thm');
   382   in (def_thm', thy'') end;
   382   in (def_thm', thy'') end;
   383 
   383 
   384 fun canonical_const class phi dangling_params ((b, mx), rhs) thy =
   384 fun canonical_const class phi dangling_params ((b, mx), rhs) thy =
   385   let
   385   let