src/HOL/thy_data.ML
changeset 4082 423d0d527cbc
child 4105 b84e8dacae08
equal deleted inserted replaced
4081:f759352f669f 4082:423d0d527cbc
       
     1 (*  Title:      HOL/thy_data.ML
       
     2     ID:         $Id$
       
     3     Author:     Markus Wenzel, TU Muenchen
       
     4 
       
     5 HOL theory data.
       
     6 *)
       
     7 
       
     8 type datatype_info =
       
     9  {case_const: term,
       
    10   case_rewrites: thm list,
       
    11   constructors: term list,
       
    12   induct_tac: string -> int -> tactic,
       
    13   nchotomy: thm,
       
    14   exhaustion: thm,
       
    15   exhaust_tac: string -> int -> tactic,
       
    16   case_cong: thm};
       
    17 
       
    18 signature THY_DATA =
       
    19 sig
       
    20   val datatypesK: string
       
    21   val hol_data: (string * (exn * (exn -> exn) * (exn * exn -> exn) * (exn -> unit))) list
       
    22 end;
       
    23 
       
    24 structure ThyData: THY_DATA =
       
    25 struct
       
    26 
       
    27 
       
    28 (** datatypes **)	(* FIXME *)
       
    29 
       
    30 val datatypesK = "datatypes";
       
    31 exception DatatypeInfo of datatype_info Symtab.table;
       
    32 
       
    33 
       
    34 
       
    35 (** records **)		(* FIXME *)
       
    36 
       
    37 val recordsK = "records";
       
    38 
       
    39 
       
    40 
       
    41 (** hol_data **)
       
    42 
       
    43 val hol_data =
       
    44  [Simplifier.simpset_thy_data, ClasetThyData.thy_data];
       
    45 
       
    46 
       
    47 end;