src/HOL/cladata.ML
author haftmann
Fri, 13 Oct 2006 12:32:44 +0200
changeset 21009 0eae3fb48936
parent 20973 0b8e436ed071
permissions -rw-r--r--
lifted claset setup from ML to Isar level
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1985
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     1
(*  Title:      HOL/cladata.ML
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     2
    ID:         $Id$
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     3
    Author:     Tobias Nipkow
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     4
    Copyright   1996  University of Cambridge
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     5
4085
6e2d41a5ea43 adapted to new implicit claset;
wenzelm
parents: 4059
diff changeset
     6
Setting up the classical reasoner.
1985
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     7
*)
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     8
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
     9
structure Hypsubst_Data =
20944
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    10
struct
1985
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
    11
  structure Simplifier = Simplifier
20973
0b8e436ed071 cleaned up HOL bootstrap
haftmann
parents: 20944
diff changeset
    12
  val dest_eq = HOLogic.dest_eq_typ
4466
305390f23734 Better equality handling in Blast_tac, usingd a new variant of hyp_subst_tac
paulson
parents: 4305
diff changeset
    13
  val dest_Trueprop = HOLogic.dest_Trueprop
305390f23734 Better equality handling in Blast_tac, usingd a new variant of hyp_subst_tac
paulson
parents: 4305
diff changeset
    14
  val dest_imp = HOLogic.dest_imp
20944
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    15
  val eq_reflection = HOL.eq_reflection
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    16
  val rev_eq_reflection = HOL.def_imp_eq
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    17
  val imp_intr = HOL.impI
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    18
  val rev_mp = HOL.rev_mp
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    19
  val subst = HOL.subst
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    20
  val sym = HOL.sym
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    21
  val thin_refl = thm "thin_refl";
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    22
end;
1985
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
    23
84cf16192e03 Tidied many proofs, using AddIffs to let equivalences take
paulson
parents:
diff changeset
    24
structure Hypsubst = HypsubstFun(Hypsubst_Data);
20944
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    25
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    26
structure Classical_Data = 
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    27
struct
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    28
  val mp = HOL.mp
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    29
  val not_elim = HOL.notE
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    30
  val classical = HOL.classical
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    31
  val sizef = Drule.size_of_thm
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    32
  val hyp_subst_tacs = [Hypsubst.hyp_subst_tac]
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    33
end;
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    34
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    35
structure Classical = ClassicalFun(Classical_Data);
34b2c1bb7178 cleanup basic HOL bootstrap
haftmann
parents: 20223
diff changeset
    36
structure BasicClassical: BASIC_CLASSICAL = Classical;