src/FOL/hypsubstdata.ML
changeset 7355 4c43090659ca
child 9528 95852b4be214
equal deleted inserted replaced
7354:358b1c5391f0 7355:4c43090659ca
       
     1 
       
     2 (** Applying HypsubstFun to generate hyp_subst_tac **)
       
     3 structure Hypsubst_Data =
       
     4   struct
       
     5   structure Simplifier = Simplifier
       
     6     (*These destructors  Match!*)
       
     7   fun dest_eq (Const("op =",T)  $ t $ u) = (t, u, domain_type T)
       
     8   val dest_Trueprop = FOLogic.dest_Trueprop
       
     9   val dest_imp = FOLogic.dest_imp
       
    10   val eq_reflection = eq_reflection
       
    11   val imp_intr = impI
       
    12   val rev_mp = rev_mp
       
    13   val subst = subst
       
    14   val sym = sym
       
    15   val thin_refl = prove_goal (the_context ())
       
    16 		  "!!X. [|x=x; PROP W|] ==> PROP W" (K [atac 1]);
       
    17   end;
       
    18 
       
    19 structure Hypsubst = HypsubstFun(Hypsubst_Data);
       
    20 open Hypsubst;