src/Pure/thm.ML
changeset 9461 8645b0413366
parent 9031 8f75b9ce2f06
child 9501 9cd32060bbc8
equal deleted inserted replaced
9460:53d7ad5bec39 9461:8645b0413366
    19   (*certified terms*)
    19   (*certified terms*)
    20   type cterm
    20   type cterm
    21   exception CTERM of string
    21   exception CTERM of string
    22   val rep_cterm         : cterm -> {sign: Sign.sg, t: term, T: typ, maxidx: int}
    22   val rep_cterm         : cterm -> {sign: Sign.sg, t: term, T: typ, maxidx: int}
    23   val crep_cterm        : cterm -> {sign: Sign.sg, t: term, T: ctyp, maxidx: int}
    23   val crep_cterm        : cterm -> {sign: Sign.sg, t: term, T: ctyp, maxidx: int}
       
    24   val sign_of_cterm	: cterm -> Sign.sg
    24   val term_of           : cterm -> term
    25   val term_of           : cterm -> term
    25   val cterm_of          : Sign.sg -> term -> cterm
    26   val cterm_of          : Sign.sg -> term -> cterm
    26   val ctyp_of_term      : cterm -> ctyp
    27   val ctyp_of_term      : cterm -> ctyp
    27   val read_cterm        : Sign.sg -> string * typ -> cterm
    28   val read_cterm        : Sign.sg -> string * typ -> cterm
    28   val cterm_fun         : (term -> term) -> (cterm -> cterm)
    29   val cterm_fun         : (term -> term) -> (cterm -> cterm)
   224   {sign = Sign.deref sign_ref, t = t, T = T, maxidx = maxidx};
   225   {sign = Sign.deref sign_ref, t = t, T = T, maxidx = maxidx};
   225 
   226 
   226 fun crep_cterm (Cterm {sign_ref, t, T, maxidx}) =
   227 fun crep_cterm (Cterm {sign_ref, t, T, maxidx}) =
   227   {sign = Sign.deref sign_ref, t = t, T = Ctyp {sign_ref = sign_ref, T = T},
   228   {sign = Sign.deref sign_ref, t = t, T = Ctyp {sign_ref = sign_ref, T = T},
   228     maxidx = maxidx};
   229     maxidx = maxidx};
       
   230 
       
   231 fun sign_of_cterm (Cterm {sign_ref, ...}) = Sign.deref sign_ref;
   229 
   232 
   230 fun term_of (Cterm {t, ...}) = t;
   233 fun term_of (Cterm {t, ...}) = t;
   231 
   234 
   232 fun ctyp_of_term (Cterm {sign_ref, T, ...}) = Ctyp {sign_ref = sign_ref, T = T};
   235 fun ctyp_of_term (Cterm {sign_ref, T, ...}) = Ctyp {sign_ref = sign_ref, T = T};
   233 
   236