src/HOL/Tools/inductive_realizer.ML
changeset 24926 bcb6b098df11
parent 24816 2d0fa8f31804
child 25977 b0604cd8e5e1
equal deleted inserted replaced
24925:f38dd8d0a30d 24926:bcb6b098df11
   298       (map (fn (s, rs) => mk_realizes_eqn (not (s mem rsets)) vs nparms rs) rss);
   298       (map (fn (s, rs) => mk_realizes_eqn (not (s mem rsets)) vs nparms rs) rss);
   299 
   299 
   300     val thy1' = thy1 |>
   300     val thy1' = thy1 |>
   301       Theory.copy |>
   301       Theory.copy |>
   302       Sign.add_types (map (fn s => (Sign.base_name s, ar, NoSyn)) tnames) |>
   302       Sign.add_types (map (fn s => (Sign.base_name s, ar, NoSyn)) tnames) |>
   303       fold (fn s => AxClass.axiomatize_arity_i
   303       fold (fn s => AxClass.axiomatize_arity
   304         (s, replicate ar HOLogic.typeS, HOLogic.typeS)) tnames |>
   304         (s, replicate ar HOLogic.typeS, HOLogic.typeS)) tnames |>
   305         Extraction.add_typeof_eqns_i ty_eqs;
   305         Extraction.add_typeof_eqns_i ty_eqs;
   306     val dts = List.mapPartial (fn (s, rs) => if s mem rsets then
   306     val dts = List.mapPartial (fn (s, rs) => if s mem rsets then
   307       SOME (dt_of_intrs thy1' vs nparms rs) else NONE) rss;
   307       SOME (dt_of_intrs thy1' vs nparms rs) else NONE) rss;
   308 
   308