src/FOL/hypsubstdata.ML
author Walther Neuper <neuper@ist.tugraz.at>
Fri, 01 Oct 2010 17:27:55 +0200
branchisac-update-Isa09-2
changeset 38039 99cb0d80ff32
parent 27572 67cd6ed76446
child 39406 0dec18004e75
permissions -rw-r--r--
tuned: shifted last tests into respective files
wenzelm@7355
     1
wenzelm@7355
     2
(** Applying HypsubstFun to generate hyp_subst_tac **)
wenzelm@7355
     3
structure Hypsubst_Data =
haftmann@20974
     4
struct
wenzelm@7355
     5
  structure Simplifier = Simplifier
wenzelm@21218
     6
  val dest_eq = FOLogic.dest_eq
wenzelm@7355
     7
  val dest_Trueprop = FOLogic.dest_Trueprop
wenzelm@7355
     8
  val dest_imp = FOLogic.dest_imp
wenzelm@21539
     9
  val eq_reflection = thm "eq_reflection"
wenzelm@21539
    10
  val rev_eq_reflection = thm "meta_eq_to_obj_eq"
wenzelm@21539
    11
  val imp_intr = thm "impI"
wenzelm@21539
    12
  val rev_mp = thm "rev_mp"
wenzelm@21539
    13
  val subst = thm "subst"
wenzelm@21539
    14
  val sym = thm "sym"
wenzelm@21539
    15
  val thin_refl = thm "thin_refl"
krauss@27572
    16
  val prop_subst = @{lemma "PROP P(t) ==> PROP prop (x = t ==> PROP P(x))"
krauss@27572
    17
                     by (unfold prop_def) (drule eq_reflection, unfold)}
haftmann@20974
    18
end;
wenzelm@7355
    19
wenzelm@7355
    20
structure Hypsubst = HypsubstFun(Hypsubst_Data);
wenzelm@7355
    21
open Hypsubst;