src/Pure/more_thm.ML
changeset 23169 37091da05d8e
parent 22907 dccd0763ae37
child 23170 94e9413bd7fc
equal deleted inserted replaced
23168:fcdd4346fa6b 23169:37091da05d8e
     2     ID:         $Id$
     2     ID:         $Id$
     3     Author:     Makarius
     3     Author:     Makarius
     4 
     4 
     5 Further operations on type ctyp/cterm/thm, outside the inference kernel.
     5 Further operations on type ctyp/cterm/thm, outside the inference kernel.
     6 *)
     6 *)
       
     7 
       
     8 infix aconvc;
     7 
     9 
     8 signature THM =
    10 signature THM =
     9 sig
    11 sig
    10   include THM
    12   include THM
    11   val mk_binop: cterm -> cterm -> cterm -> cterm
    13   val mk_binop: cterm -> cterm -> cterm -> cterm
    15   val dest_equals_lhs: cterm -> cterm
    17   val dest_equals_lhs: cterm -> cterm
    16   val dest_equals_rhs: cterm -> cterm
    18   val dest_equals_rhs: cterm -> cterm
    17   val lhs_of: thm -> cterm
    19   val lhs_of: thm -> cterm
    18   val rhs_of: thm -> cterm
    20   val rhs_of: thm -> cterm
    19   val thm_ord: thm * thm -> order
    21   val thm_ord: thm * thm -> order
       
    22   val aconvc : cterm * cterm -> bool
    20   val eq_thm: thm * thm -> bool
    23   val eq_thm: thm * thm -> bool
    21   val eq_thms: thm list * thm list -> bool
    24   val eq_thms: thm list * thm list -> bool
    22   val eq_thm_thy: thm * thm -> bool
    25   val eq_thm_thy: thm * thm -> bool
    23   val eq_thm_prop: thm * thm -> bool
    26   val eq_thm_prop: thm * thm -> bool
    24   val equiv_thm: thm * thm -> bool
    27   val equiv_thm: thm * thm -> bool
    96     | ord => ord)
    99     | ord => ord)
    97   end;
   100   end;
    98 
   101 
    99 
   102 
   100 (* equality *)
   103 (* equality *)
       
   104 
       
   105 val op aconvc = op aconv o pairself Thm.term_of;
   101 
   106 
   102 fun eq_thm ths =
   107 fun eq_thm ths =
   103   Context.joinable (pairself Thm.theory_of_thm ths) andalso
   108   Context.joinable (pairself Thm.theory_of_thm ths) andalso
   104   thm_ord ths = EQUAL;
   109   thm_ord ths = EQUAL;
   105 
   110