src/HOL/Tools/typedef_package.ML
changeset 18708 4b3dadb4fe33
parent 18678 dd0c569fa43d
child 18728 6790126ab5f6
equal deleted inserted replaced
18707:9d6154f76476 18708:4b3dadb4fe33
    21       Rep_induct: thm, Abs_induct: thm}
    21       Rep_induct: thm, Abs_induct: thm}
    22   val typedef: (bool * string) * (bstring * string list * mixfix) * string
    22   val typedef: (bool * string) * (bstring * string list * mixfix) * string
    23     * (string * string) option -> theory -> Proof.state
    23     * (string * string) option -> theory -> Proof.state
    24   val typedef_i: (bool * string) * (bstring * string list * mixfix) * term
    24   val typedef_i: (bool * string) * (bstring * string list * mixfix) * term
    25     * (string * string) option -> theory -> Proof.state
    25     * (string * string) option -> theory -> Proof.state
    26   val setup: (theory -> theory) list
    26   val setup: theory -> theory
    27 end;
    27 end;
    28 
    28 
    29 structure TypedefPackage: TYPEDEF_PACKAGE =
    29 structure TypedefPackage: TYPEDEF_PACKAGE =
    30 struct
    30 struct
    31 
    31 
   358              | SOME _ => Codegen.add_edge (node_id, dep) gr', tyexpr)
   358              | SOME _ => Codegen.add_edge (node_id, dep) gr', tyexpr)
   359            end)
   359            end)
   360   | typedef_tycodegen thy defs gr dep module brack _ = NONE;
   360   | typedef_tycodegen thy defs gr dep module brack _ = NONE;
   361 
   361 
   362 val setup =
   362 val setup =
   363   [TypedefData.init,
   363   TypedefData.init #>
   364    Codegen.add_codegen "typedef" typedef_codegen,
   364   Codegen.add_codegen "typedef" typedef_codegen #>
   365    Codegen.add_tycodegen "typedef" typedef_tycodegen];
   365   Codegen.add_tycodegen "typedef" typedef_tycodegen;
   366 
   366 
   367 
   367 
   368 
   368 
   369 (** outer syntax **)
   369 (** outer syntax **)
   370 
   370