src/Pure/Isar/element.ML
changeset 18894 9c8c60853966
parent 18669 cd6d6baf0411
child 18906 2487aea6ff12
equal deleted inserted replaced
18893:2dbf73278b0e 18894:9c8c60853966
    31   val instT_thm: theory -> typ Symtab.table -> thm -> thm
    31   val instT_thm: theory -> typ Symtab.table -> thm -> thm
    32   val instT_ctxt: theory -> typ Symtab.table -> context_i -> context_i
    32   val instT_ctxt: theory -> typ Symtab.table -> context_i -> context_i
    33   val inst_term: typ Symtab.table * term Symtab.table -> term -> term
    33   val inst_term: typ Symtab.table * term Symtab.table -> term -> term
    34   val inst_thm: theory -> typ Symtab.table * term Symtab.table -> thm -> thm
    34   val inst_thm: theory -> typ Symtab.table * term Symtab.table -> thm -> thm
    35   val inst_ctxt: theory -> typ Symtab.table * term Symtab.table -> context_i -> context_i
    35   val inst_ctxt: theory -> typ Symtab.table * term Symtab.table -> context_i -> context_i
       
    36   datatype ('typ, 'term, 'att) stmt =
       
    37     Shows of ((string * 'att list) * ('term * ('term list * 'term list)) list) list |
       
    38     Obtains of (string * ((string * 'typ option) list * 'term list)) list
       
    39   type statement  (*= (string, string, Attrib.src) stmt*)
       
    40   type statement_i  (*= (typ, term, attribute) stmt*)
    36 end;
    41 end;
    37 
    42 
    38 structure Element: ELEMENT =
    43 structure Element: ELEMENT =
    39 struct
    44 struct
    40 
    45 
   250     end;
   255     end;
   251 
   256 
   252 fun inst_ctxt thy envs =
   257 fun inst_ctxt thy envs =
   253   map_ctxt_values (instT_type (#1 envs)) (inst_term envs) (inst_thm thy envs);
   258   map_ctxt_values (instT_type (#1 envs)) (inst_term envs) (inst_thm thy envs);
   254 
   259 
       
   260 
       
   261 
       
   262 (** concluding statements **)
       
   263 
       
   264 datatype ('typ, 'term, 'att) stmt =
       
   265   Shows of ((string * 'att list) * ('term * ('term list * 'term list)) list) list |
       
   266   Obtains of (string * ((string * 'typ option) list * 'term list)) list;
       
   267 
       
   268 type statement = (string, string, Attrib.src) stmt;
       
   269 type statement_i = (typ, term, attribute) stmt;
       
   270 
   255 end;
   271 end;