src/HOL/Tools/Quotient/quotient_tacs.ML
changeset 41443 6e93dfec9e76
parent 41228 e1fce873b814
child 41444 7f40120cd814
equal deleted inserted replaced
41442:4cfb51a5a444 41443:6e93dfec9e76
    41 (* composition of two theorems, used in maps *)
    41 (* composition of two theorems, used in maps *)
    42 fun OF1 thm1 thm2 = thm2 RS thm1
    42 fun OF1 thm1 thm2 = thm2 RS thm1
    43 
    43 
    44 fun atomize_thm thm =
    44 fun atomize_thm thm =
    45 let
    45 let
    46   val thm' = Thm.legacy_freezeT (forall_intr_vars thm) (* FIXME/TODO: is this proper Isar-technology? *)
    46   val thm' = Thm.legacy_freezeT (forall_intr_vars thm) (* FIXME/TODO: is this proper Isar-technology? no! *)
    47   val thm'' = Object_Logic.atomize (cprop_of thm')
    47   val thm'' = Object_Logic.atomize (cprop_of thm')
    48 in
    48 in
    49   @{thm equal_elim_rule1} OF [thm'', thm']
    49   @{thm equal_elim_rule1} OF [thm'', thm']
    50 end
    50 end
    51 
    51