New theory header syntax.
authornipkow
Mon, 16 Aug 2004 14:22:27 +0200
changeset 15131 c69542757a4d
parent 15130 dc6be28d7f4e
child 15132 df2b7976d1e7
New theory header syntax.
src/HOL/Complex/CLim.thy
src/HOL/Complex/CSeries.thy
src/HOL/Complex/CStar.thy
src/HOL/Complex/Complex.thy
src/HOL/Complex/ComplexBin.thy
src/HOL/Complex/Complex_Main.thy
src/HOL/Complex/NSCA.thy
src/HOL/Complex/NSComplex.thy
src/HOL/Datatype.thy
src/HOL/Divides.thy
src/HOL/Extraction.thy
src/HOL/Finite_Set.thy
src/HOL/Fun.thy
src/HOL/Gfp.thy
src/HOL/HOL.thy
src/HOL/Hilbert_Choice.thy
src/HOL/Hyperreal/EvenOdd.thy
src/HOL/Hyperreal/Fact.thy
src/HOL/Hyperreal/Filter.thy
src/HOL/Hyperreal/HLog.thy
src/HOL/Hyperreal/HSeries.thy
src/HOL/Hyperreal/HTranscendental.thy
src/HOL/Hyperreal/HyperArith.thy
src/HOL/Hyperreal/HyperDef.thy
src/HOL/Hyperreal/HyperNat.thy
src/HOL/Hyperreal/HyperPow.thy
src/HOL/Hyperreal/Hyperreal.thy
src/HOL/Hyperreal/Integration.thy
src/HOL/Hyperreal/Lim.thy
src/HOL/Hyperreal/Log.thy
src/HOL/Hyperreal/MacLaurin.thy
src/HOL/Hyperreal/NSA.thy
src/HOL/Hyperreal/NatStar.thy
src/HOL/Hyperreal/NthRoot.thy
src/HOL/Hyperreal/Poly.thy
src/HOL/Hyperreal/SEQ.thy
src/HOL/Hyperreal/Series.thy
src/HOL/Hyperreal/Star.thy
src/HOL/Hyperreal/Transcendental.thy
src/HOL/Inductive.thy
src/HOL/Infinite_Set.thy
src/HOL/Integ/Equiv.thy
src/HOL/Integ/IntArith.thy
src/HOL/Integ/IntDef.thy
src/HOL/Integ/IntDiv.thy
src/HOL/Integ/NatBin.thy
src/HOL/Integ/NatSimprocs.thy
src/HOL/Integ/Numeral.thy
src/HOL/Integ/Parity.thy
src/HOL/Integ/Presburger.thy
src/HOL/LOrder.thy
src/HOL/Lfp.thy
src/HOL/Library/Accessible_Part.thy
src/HOL/Library/Continuity.thy
src/HOL/Library/FuncSet.thy
src/HOL/Library/Library.thy
src/HOL/Library/List_Prefix.thy
src/HOL/Library/Multiset.thy
src/HOL/Library/NatPair.thy
src/HOL/Library/Nat_Infinity.thy
src/HOL/Library/Nested_Environment.thy
src/HOL/Library/Permutation.thy
src/HOL/Library/Primes.thy
src/HOL/Library/Quotient.thy
src/HOL/Library/While_Combinator.thy
src/HOL/Library/Word.thy
src/HOL/Library/Zorn.thy
src/HOL/List.thy
src/HOL/Main.thy
src/HOL/Map.thy
src/HOL/Nat.thy
src/HOL/NatArith.thy
src/HOL/OrderedGroup.thy
src/HOL/Power.thy
src/HOL/PreList.thy
src/HOL/Presburger.thy
src/HOL/Product_Type.thy
src/HOL/Real/Lubs.thy
src/HOL/Real/PReal.thy
src/HOL/Real/RComplete.thy
src/HOL/Real/Rational.thy
src/HOL/Real/RealDef.thy
src/HOL/Real/RealPow.thy
src/HOL/Recdef.thy
src/HOL/Record.thy
src/HOL/Refute.thy
src/HOL/Relation.thy
src/HOL/Relation_Power.thy
src/HOL/Ring_and_Field.thy
src/HOL/Set.thy
src/HOL/SetInterval.thy
src/HOL/Transitive_Closure.thy
src/HOL/Typedef.thy
--- a/src/HOL/Complex/CLim.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/CLim.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Limits, Continuity and Differentiation for Complex Functions*}
 
-theory CLim = CSeries:
+theory CLim
+import CSeries
+begin
 
 (*not in simpset?*)
 declare hypreal_epsilon_not_zero [simp]
--- a/src/HOL/Complex/CSeries.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/CSeries.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header{*Finite Summation and Infinite Series for Complex Numbers*}
 
-theory CSeries = CStar:
+theory CSeries
+import CStar
+begin
 
 consts sumc :: "[nat,nat,(nat=>complex)] => complex"
 primrec
--- a/src/HOL/Complex/CStar.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/CStar.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 header{*Star-transforms in NSA, Extending Sets of Complex Numbers
       and Complex Functions*}
 
-theory CStar = NSCA:
+theory CStar
+import NSCA
+begin
 
 constdefs
 
--- a/src/HOL/Complex/Complex.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/Complex.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header {* Complex Numbers: Rectangular and Polar Representations *}
 
-theory Complex = "../Hyperreal/HLog":
+theory Complex
+import "../Hyperreal/HLog"
+begin
 
 datatype complex = Complex real real
 
--- a/src/HOL/Complex/ComplexBin.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/ComplexBin.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,5 +5,9 @@
                 This case is reduced to that for the reals.
 *)
 
-theory ComplexBin = Complex:
+theory ComplexBin
+import Complex
+begin
 
+end
+
--- a/src/HOL/Complex/Complex_Main.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/Complex_Main.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,6 +6,8 @@
 
 header{*Comprehensive Complex Theory*}
 
-theory Complex_Main = CLim:
+theory Complex_Main
+import CLim
+begin
 
 end
--- a/src/HOL/Complex/NSCA.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/NSCA.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header{*Non-Standard Complex Analysis*}
 
-theory NSCA = NSComplex:
+theory NSCA
+import NSComplex
+begin
 
 constdefs
 
--- a/src/HOL/Complex/NSComplex.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Complex/NSComplex.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Nonstandard Complex Numbers*}
 
-theory NSComplex = Complex:
+theory NSComplex
+import Complex
+begin
 
 constdefs
     hcomplexrel :: "((nat=>complex)*(nat=>complex)) set"
--- a/src/HOL/Datatype.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Datatype.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Datatypes *}
 
-theory Datatype = Datatype_Universe:
+theory Datatype
+import Datatype_Universe
+begin
 
 subsection {* Representing primitive types *}
 
--- a/src/HOL/Divides.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Divides.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 The division operators div, mod and the divides relation "dvd"
 *)
 
-theory Divides = NatArith:
+theory Divides
+import NatArith
+begin
 
 (*We use the same class for div and mod;
   moreover, dvd is defined whenever multiplication is*)
--- a/src/HOL/Extraction.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Extraction.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,9 +5,10 @@
 
 header {* Program extraction for HOL *}
 
-theory Extraction = Datatype
-files
-  "Tools/rewrite_hol_proof.ML":
+theory Extraction
+import Datatype
+files "Tools/rewrite_hol_proof.ML"
+begin
 
 subsection {* Setup *}
 
--- a/src/HOL/Finite_Set.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Finite_Set.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Finite sets *}
 
-theory Finite_Set = Divides + Power + Inductive:
+theory Finite_Set
+import Divides Power Inductive
+begin
 
 subsection {* Collection of finite sets *}
 
--- a/src/HOL/Fun.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Fun.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 Notions about functions.
 *)
 
-theory Fun = Typedef:
+theory Fun 
+import Typedef
+begin
 
 instance set :: (type) order
   by (intro_classes,
--- a/src/HOL/Gfp.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Gfp.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 Greatest fixed points (requires Lfp too!)
 *)
 
-theory Gfp = Lfp:
+theory Gfp 
+import Lfp
+begin
 
 constdefs
   gfp :: "['a set=>'a set] => 'a set"
--- a/src/HOL/HOL.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/HOL.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,9 +5,10 @@
 
 header {* The basis of Higher-Order Logic *}
 
-theory HOL = CPure
-files ("HOL_lemmas.ML") ("cladata.ML") ("blastdata.ML") ("simpdata.ML"):
-
+theory HOL
+import CPure
+files ("HOL_lemmas.ML") ("cladata.ML") ("blastdata.ML") ("simpdata.ML")
+begin
 
 subsection {* Primitive logic *}
 
--- a/src/HOL/Hilbert_Choice.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hilbert_Choice.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,9 +6,10 @@
 
 header {* Hilbert's Epsilon-Operator and the Axiom of Choice *}
 
-theory Hilbert_Choice = NatArith
-files ("Tools/meson.ML") ("Tools/specification_package.ML"):
-
+theory Hilbert_Choice
+import NatArith
+files ("Tools/meson.ML") ("Tools/specification_package.ML")
+begin
 
 subsection {* Hilbert's epsilon *}
 
--- a/src/HOL/Hyperreal/EvenOdd.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/EvenOdd.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Even and Odd Numbers: Compatibility file for Parity*}
 
-theory EvenOdd = NthRoot:
+theory EvenOdd
+import NthRoot
+begin
 
 subsection{*General Lemmas About Division*}
 
--- a/src/HOL/Hyperreal/Fact.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Fact.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Factorial Function*}
 
-theory Fact = Real:
+theory Fact
+import Real
+begin
 
 consts fact :: "nat => nat"
 primrec
@@ -71,4 +73,4 @@
 by (case_tac "m", auto)
 
 
-end
\ No newline at end of file
+end
--- a/src/HOL/Hyperreal/Filter.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Filter.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Filters and Ultrafilters*}
 
-theory Filter = Zorn:
+theory Filter
+import Zorn
+begin
 
 constdefs
 
--- a/src/HOL/Hyperreal/HLog.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HLog.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header{*Logarithms: Non-Standard Version*}
 
-theory HLog = Log + HTranscendental: 
+theory HLog
+import Log HTranscendental
+begin
 
 
 (* should be in NSA.ML *)
--- a/src/HOL/Hyperreal/HSeries.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HSeries.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Finite Summation and Infinite Series for Hyperreals*}
 
-theory HSeries = Series:
+theory HSeries
+import Series
+begin
 
 constdefs 
   sumhr :: "(hypnat * hypnat * (nat=>real)) => hypreal"
--- a/src/HOL/Hyperreal/HTranscendental.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HTranscendental.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Nonstandard Extensions of Transcendental Functions*}
 
-theory HTranscendental = Transcendental + Integration:
+theory HTranscendental
+import Transcendental Integration
+begin
 
 text{*really belongs in Transcendental*}
 lemma sqrt_divide_self_eq:
--- a/src/HOL/Hyperreal/HyperArith.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HyperArith.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,9 +6,10 @@
 
 header{*Binary arithmetic and Simplification for the Hyperreals*}
 
-theory HyperArith = HyperDef
-files ("hypreal_arith.ML"):
-
+theory HyperArith
+import HyperDef
+files ("hypreal_arith.ML")
+begin
 
 subsection{*Numerals and Arithmetic*}
 
--- a/src/HOL/Hyperreal/HyperDef.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HyperDef.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,9 +7,10 @@
 
 header{*Construction of Hyperreals Using Ultrafilters*}
 
-theory HyperDef = Filter + "../Real/Real"
-files ("fuf.ML"):  (*Warning: file fuf.ML refers to the name Hyperdef!*)
-
+theory HyperDef
+import Filter "../Real/Real"
+files ("fuf.ML")  (*Warning: file fuf.ML refers to the name Hyperdef!*)
+begin
 
 constdefs
 
--- a/src/HOL/Hyperreal/HyperNat.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HyperNat.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Construction of Hypernaturals using Ultrafilters*}
 
-theory HyperNat = Star:
+theory HyperNat
+import Star
+begin
 
 constdefs
     hypnatrel :: "((nat=>nat)*(nat=>nat)) set"
--- a/src/HOL/Hyperreal/HyperPow.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/HyperPow.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Exponentials on the Hyperreals*}
 
-theory HyperPow = HyperArith + HyperNat + "../Real/RealPow":
+theory HyperPow
+import HyperArith HyperNat "../Real/RealPow"
+begin
 
 instance hypreal :: power ..
 
--- a/src/HOL/Hyperreal/Hyperreal.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Hyperreal.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,6 +7,8 @@
 and mechanization of Nonstandard Real Analysis
 *)
 
-theory Hyperreal = Poly + MacLaurin + HLog:
+theory Hyperreal
+import Poly MacLaurin HLog
+begin
 
 end
--- a/src/HOL/Hyperreal/Integration.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Integration.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Theory of Integration*}
 
-theory Integration = MacLaurin:
+theory Integration
+import MacLaurin
+begin
 
 text{*We follow John Harrison in formalizing the Gauge integral.*}
 
--- a/src/HOL/Hyperreal/Lim.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Lim.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Limits, Continuity and Differentiation*}
 
-theory Lim = SEQ + RealDef:
+theory Lim
+import SEQ RealDef
+begin
 
 text{*Standard and Nonstandard Definitions*}
 
--- a/src/HOL/Hyperreal/Log.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Log.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header{*Logarithms: Standard Version*}
 
-theory Log = Transcendental:
+theory Log
+import Transcendental
+begin
 
 constdefs
 
--- a/src/HOL/Hyperreal/MacLaurin.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/MacLaurin.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
     Conversion to Isar and new proofs by Lawrence C Paulson, 2004
 *)
 
-theory MacLaurin = Log:
+theory MacLaurin
+import Log
+begin
 
 lemma sumr_offset: "sumr 0 n (%m. f (m+k)) = sumr 0 (n+k) f - sumr 0 k f"
 by (induct_tac "n", auto)
--- a/src/HOL/Hyperreal/NSA.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/NSA.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Infinite Numbers, Infinitesimals, Infinitely Close Relation*}
 
-theory NSA = HyperArith + RComplete:
+theory NSA
+import HyperArith RComplete
+begin
 
 constdefs
 
--- a/src/HOL/Hyperreal/NatStar.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/NatStar.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,8 +7,9 @@
 
 header{*Star-transforms for the Hypernaturals*}
 
-theory NatStar = "../Real/RealPow" + HyperPow:
-
+theory NatStar
+import "../Real/RealPow" HyperPow
+begin
 
 text{*Extends sets of nats, and functions from the nats to nats or reals*}
 
--- a/src/HOL/Hyperreal/NthRoot.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/NthRoot.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Existence of Nth Root*}
 
-theory NthRoot = SEQ + HSeries:
+theory NthRoot
+import SEQ HSeries
+begin
 
 text {*
   Various lemmas needed for this result. We follow the proof given by
--- a/src/HOL/Hyperreal/Poly.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Poly.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -8,8 +8,9 @@
 
 header{*Univariate Real Polynomials*}
 
-theory Poly = Transcendental:
-
+theory Poly
+import Transcendental
+begin
 
 text{*Application of polynomial as a real function.*}
 
--- a/src/HOL/Hyperreal/SEQ.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/SEQ.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
     Conversion to Isar and new proofs by Lawrence C Paulson, 2004
 *)
 
-theory SEQ = NatStar + HyperPow:
+theory SEQ
+import NatStar HyperPow
+begin
 
 constdefs
 
--- a/src/HOL/Hyperreal/Series.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Series.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Finite Summation and Infinite Series*}
 
-theory Series = SEQ + Lim:
+theory Series
+import SEQ Lim
+begin
 
 syntax sumr :: "[nat,nat,(nat=>real)] => real"
 translations
--- a/src/HOL/Hyperreal/Star.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Star.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Star-Transforms in Non-Standard Analysis*}
 
-theory Star = NSA:
+theory Star
+import NSA
+begin
 
 constdefs
     (* nonstandard extension of sets *)
--- a/src/HOL/Hyperreal/Transcendental.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Hyperreal/Transcendental.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Power Series, Transcendental Functions etc.*}
 
-theory Transcendental = NthRoot + Fact + HSeries + EvenOdd + Lim:
+theory Transcendental
+import NthRoot Fact HSeries EvenOdd Lim
+begin
 
 constdefs
     root :: "[nat,real] => real"
--- a/src/HOL/Inductive.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Inductive.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,8 @@
 
 header {* Support for inductive sets and types *}
 
-theory Inductive = Gfp + Sum_Type + Relation + Record
+theory Inductive 
+import Gfp Sum_Type Relation Record
 files
   ("Tools/inductive_package.ML")
   ("Tools/inductive_realizer.ML")
@@ -18,8 +19,8 @@
   ("Tools/datatype_package.ML")
   ("Tools/datatype_codegen.ML")
   ("Tools/recfun_codegen.ML")
-  ("Tools/primrec_package.ML"):
-
+  ("Tools/primrec_package.ML")
+begin
 
 subsection {* Inductive sets *}
 
--- a/src/HOL/Infinite_Set.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Infinite_Set.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Infnite Sets and Related Concepts*}
 
-theory Infinite_Set = Hilbert_Choice + Finite_Set + SetInterval:
+theory Infinite_Set
+import Hilbert_Choice Finite_Set SetInterval
+begin
 
 subsection "Infinite Sets"
 
--- a/src/HOL/Integ/Equiv.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/Equiv.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Equivalence relations in Higher-Order Set Theory *}
 
-theory Equiv = Relation + Finite_Set:
+theory Equiv
+import Relation Finite_Set
+begin
 
 subsection {* Equivalence relations *}
 
--- a/src/HOL/Integ/IntArith.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/IntArith.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {* Integer arithmetic *}
 
-theory IntArith = Numeral
-files ("int_arith1.ML"):
+theory IntArith
+import Numeral
+files ("int_arith1.ML")
+begin
 
 text{*Duplicate: can't understand why it's necessary*}
 declare numeral_0_eq_0 [simp]
--- a/src/HOL/Integ/IntDef.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/IntDef.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*The Integers as Equivalence Classes over Pairs of Natural Numbers*}
 
-theory IntDef = Equiv + NatArith:
+theory IntDef
+import Equiv NatArith
+begin
 
 constdefs
   intrel :: "((nat * nat) * (nat * nat)) set"
--- a/src/HOL/Integ/IntDiv.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/IntDiv.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -31,8 +31,10 @@
 *)
 
 
-theory IntDiv = IntArith + Recdef
-  files ("IntDiv_setup.ML"):
+theory IntDiv
+import IntArith Recdef
+files ("IntDiv_setup.ML")
+begin
 
 declare zless_nat_conj [simp]
 
--- a/src/HOL/Integ/NatBin.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/NatBin.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Binary arithmetic for the natural numbers *}
 
-theory NatBin = IntDiv:
+theory NatBin
+import IntDiv
+begin
 
 text {*
   Arithmetic for naturals is reduced to that for the non-negative integers.
--- a/src/HOL/Integ/NatSimprocs.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/NatSimprocs.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {*Simprocs for the Naturals*}
 
-theory NatSimprocs = NatBin
-files "int_factor_simprocs.ML" "nat_simprocs.ML":
+theory NatSimprocs
+import NatBin
+files "int_factor_simprocs.ML" "nat_simprocs.ML"
+begin
 
 setup nat_simprocs_setup
 
--- a/src/HOL/Integ/Numeral.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/Numeral.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,8 +6,10 @@
 
 header{*Arithmetic on Binary Integers*}
 
-theory Numeral = IntDef
-files "Tools/numeral_syntax.ML":
+theory Numeral
+import IntDef
+files "Tools/numeral_syntax.ML"
+begin
 
 text{* The file @{text numeral_syntax.ML} hides the constructors Pls and Min.
    Only qualified access Numeral.Pls and Numeral.Min is allowed.
--- a/src/HOL/Integ/Parity.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/Parity.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Parity: Even and Odd for ints and nats*}
 
-theory Parity = Divides + IntDiv + NatSimprocs:
+theory Parity
+import Divides IntDiv NatSimprocs
+begin
 
 axclass even_odd < type
 
--- a/src/HOL/Integ/Presburger.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Integ/Presburger.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,14 +6,12 @@
 generation for Cooper Algorithm  
 *)
 
-header {* Presburger Arithmetic: Cooper Algorithm *}
+header {* Presburger Arithmetic: Cooper's Algorithm *}
 
-theory Presburger = NatSimprocs + SetInterval
-files
-  ("cooper_dec.ML")
-  ("cooper_proof.ML")
-  ("qelim.ML")
-  ("presburger.ML"):
+theory Presburger
+import NatSimprocs SetInterval
+files ("cooper_dec.ML") ("cooper_proof.ML") ("qelim.ML") ("presburger.ML")
+begin
 
 text {* Theorem for unitifying the coeffitients of @{text x} in an existential formula*}
 
--- a/src/HOL/LOrder.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/LOrder.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Lattice Orders *}
 
-theory LOrder = HOL:
+theory LOrder
+import HOL
+begin
 
 text {*
   The theory of lattices developed here is taken from the book:
@@ -327,4 +329,4 @@
 val modular_le = thm "modular_le";
 *}
 
-end
\ No newline at end of file
+end
--- a/src/HOL/Lfp.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Lfp.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 The Knaster-Tarski Theorem
 *)
 
-theory Lfp = Product_Type:
+theory Lfp
+import Product_Type
+begin
 
 constdefs
   lfp :: "['a set \<Rightarrow> 'a set] \<Rightarrow> 'a set"
--- a/src/HOL/Library/Accessible_Part.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Accessible_Part.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,8 +6,9 @@
 
 header {* The accessible part of a relation *}
 
-theory Accessible_Part = Main:
-
+theory Accessible_Part
+import Main
+begin
 
 subsection {* Inductive definition *}
 
--- a/src/HOL/Library/Continuity.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Continuity.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Continuity and iterations (of set transformers) *}
 
-theory Continuity = Main:
+theory Continuity
+import Main
+begin
 
 subsection "Chains"
 
--- a/src/HOL/Library/FuncSet.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/FuncSet.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Pi and Function Sets *}
 
-theory FuncSet = Main:
+theory FuncSet
+import Main
+begin
 
 constdefs
   Pi :: "['a set, 'a => 'b set] => ('a => 'b) set"
--- a/src/HOL/Library/Library.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Library.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -1,18 +1,20 @@
 (*<*)
-theory Library =
-  Accessible_Part +
-  Continuity +
-  FuncSet +
-  List_Prefix +
-  Multiset +
-  NatPair +
-  Nat_Infinity +
-  Nested_Environment +
-  Permutation +
-  Primes +
-  Quotient +
-  While_Combinator +
-  Word +
-  Zorn:
+theory Library
+import
+  Accessible_Part
+  Continuity
+  FuncSet
+  List_Prefix
+  Multiset
+  NatPair
+  Nat_Infinity
+  Nested_Environment
+  Permutation
+  Primes
+  Quotient
+  While_Combinator
+  Word
+  Zorn
+begin
 end
 (*>*)
--- a/src/HOL/Library/List_Prefix.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/List_Prefix.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* List prefixes and postfixes *}
 
-theory List_Prefix = Main:
+theory List_Prefix
+import Main
+begin
 
 subsection {* Prefix order on lists *}
 
--- a/src/HOL/Library/Multiset.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Multiset.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Multisets *}
 
-theory Multiset = Accessible_Part:
+theory Multiset
+import Accessible_Part
+begin
 
 subsection {* The type of multisets *}
 
--- a/src/HOL/Library/NatPair.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/NatPair.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Pairs of Natural Numbers *}
 
-theory NatPair = Main:
+theory NatPair
+import Main
+begin
 
 text{*
   An injective function from @{text "\<nat>\<twosuperior>"} to @{text
--- a/src/HOL/Library/Nat_Infinity.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Nat_Infinity.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Natural numbers with infinity *}
 
-theory Nat_Infinity = Main:
+theory Nat_Infinity
+import Main
+begin
 
 subsection "Definitions"
 
--- a/src/HOL/Library/Nested_Environment.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Nested_Environment.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Nested environments *}
 
-theory Nested_Environment = Main:
+theory Nested_Environment
+import Main
+begin
 
 text {*
   Consider a partial function @{term [source] "e :: 'a => 'b option"};
--- a/src/HOL/Library/Permutation.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Permutation.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -4,7 +4,9 @@
 
 header {* Permutations *}
 
-theory Permutation = Multiset:
+theory Permutation
+import Multiset
+begin
 
 consts
   perm :: "('a list * 'a list) set"
--- a/src/HOL/Library/Primes.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Primes.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* The Greatest Common Divisor and Euclid's algorithm *}
 
-theory Primes = Main:
+theory Primes
+import Main
+begin
 
 text {*
   See \cite{davenport92}.
--- a/src/HOL/Library/Quotient.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Quotient.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Quotient types *}
 
-theory Quotient = Main:
+theory Quotient
+import Main
+begin
 
 text {*
  We introduce the notion of quotient types over equivalence relations
--- a/src/HOL/Library/While_Combinator.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/While_Combinator.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* A general ``while'' combinator *}
 
-theory While_Combinator = Main:
+theory While_Combinator
+import Main
+begin
 
 text {*
  We define a while-combinator @{term while} and prove: (a) an
--- a/src/HOL/Library/Word.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Word.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,10 @@
 
 header {* Binary Words *}
 
-theory Word = Main files "word_setup.ML":
+theory Word
+import Main
+files "word_setup.ML"
+begin
 
 subsection {* Auxilary Lemmas *}
 
--- a/src/HOL/Library/Zorn.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Library/Zorn.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Zorn's Lemma *}
 
-theory Zorn = Main:
+theory Zorn
+import Main
+begin
 
 text{*
   The lemma and section numbers refer to an unpublished article
--- a/src/HOL/List.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/List.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* The datatype of finite lists *}
 
-theory List = PreList:
+theory List
+import PreList
+begin
 
 datatype 'a list =
     Nil    ("[]")
--- a/src/HOL/Main.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Main.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Main HOL *}
 
-theory Main = Map + Infinite_Set + Extraction + Refute:
+theory Main
+import Map Infinite_Set Extraction Refute
+begin
 
 text {*
   Theory @{text Main} includes everything.  Note that theory @{text
--- a/src/HOL/Map.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Map.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -8,7 +8,9 @@
 
 header {* Maps *}
 
-theory Map = List:
+theory Map
+import List
+begin
 
 types ('a,'b) "~=>" = "'a => 'b option" (infixr 0)
 translations (type) "a ~=> b " <= (type) "a => b option"
--- a/src/HOL/Nat.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Nat.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -8,7 +8,9 @@
 
 header {* Natural numbers *}
 
-theory Nat = Wellfounded_Recursion + Ring_and_Field:
+theory Nat
+import Wellfounded_Recursion Ring_and_Field
+begin
 
 subsection {* Type @{text ind} *}
 
--- a/src/HOL/NatArith.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/NatArith.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {* More arithmetic on natural numbers *}
 
-theory NatArith = Nat
-files "arith_data.ML":
+theory NatArith
+import Nat
+files "arith_data.ML"
+begin
 
 setup arith_setup
 
--- a/src/HOL/OrderedGroup.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/OrderedGroup.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {* Ordered Groups *}
 
-theory OrderedGroup = Inductive + LOrder
-  files "../Provers/Arith/abel_cancel.ML":
+theory OrderedGroup
+import Inductive LOrder
+files "../Provers/Arith/abel_cancel.ML"
+begin
 
 text {*
   The theory of partially ordered groups is taken from the books:
--- a/src/HOL/Power.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Power.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
 
 header{*Exponentiation and Binomial Coefficients*}
 
-theory Power = Divides:
+theory Power
+import Divides
+begin
 
 subsection{*Powers for Arbitrary Semirings*}
 
--- a/src/HOL/PreList.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/PreList.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,8 +6,9 @@
 
 header{*A Basis for Building the Theory of Lists*}
 
-theory PreList =
-    Wellfounded_Relations + Presburger + Recdef + Relation_Power + Parity:
+theory PreList
+import Wellfounded_Relations Presburger Recdef Relation_Power Parity
+begin
 
 text {*
   Is defined separately to serve as a basis for theory ToyList in the
--- a/src/HOL/Presburger.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Presburger.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,14 +6,12 @@
 generation for Cooper Algorithm  
 *)
 
-header {* Presburger Arithmetic: Cooper Algorithm *}
+header {* Presburger Arithmetic: Cooper's Algorithm *}
 
-theory Presburger = NatSimprocs + SetInterval
-files
-  ("cooper_dec.ML")
-  ("cooper_proof.ML")
-  ("qelim.ML")
-  ("presburger.ML"):
+theory Presburger
+import NatSimprocs SetInterval
+files ("cooper_dec.ML") ("cooper_proof.ML") ("qelim.ML") ("presburger.ML")
+begin
 
 text {* Theorem for unitifying the coeffitients of @{text x} in an existential formula*}
 
--- a/src/HOL/Product_Type.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Product_Type.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,8 +6,10 @@
 
 header {* Cartesian products *}
 
-theory Product_Type = Fun
-files ("Tools/split_rule.ML"):
+theory Product_Type
+import Fun
+files ("Tools/split_rule.ML")
+begin
 
 subsection {* Unit *}
 
--- a/src/HOL/Real/Lubs.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/Lubs.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header{*Definitions of Upper Bounds and Least Upper Bounds*}
 
-theory Lubs = Main:
+theory Lubs
+import Main
+begin
 
 text{*Thanks to suggestions by James Margetson*}
 
--- a/src/HOL/Real/PReal.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/PReal.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,7 +7,9 @@
                   provides some of the definitions.
 *)
 
-theory PReal = Rational:
+theory PReal
+import Rational
+begin
 
 text{*Could be generalized and moved to @{text Ring_and_Field}*}
 lemma add_eq_exists: "\<exists>x. a+x = (b::rat)"
--- a/src/HOL/Real/RComplete.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/RComplete.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -8,7 +8,9 @@
 
 header{*Completeness of the Reals; Floor and Ceiling Functions*}
 
-theory RComplete = Lubs + RealDef:
+theory RComplete
+import Lubs RealDef
+begin
 
 lemma real_sum_of_halves: "x/2 + x/2 = (x::real)"
 by simp
--- a/src/HOL/Real/Rational.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/Rational.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {* Rational numbers *}
 
-theory Rational = Quotient + Main
-files ("rat_arith.ML"):
+theory Rational
+import Quotient
+files ("rat_arith.ML")
+begin
 
 subsection {* Fractions *}
 
--- a/src/HOL/Real/RealDef.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/RealDef.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -7,8 +7,10 @@
 
 header{*Defining the Reals from the Positive Reals*}
 
-theory RealDef = PReal
-files ("real_arith.ML"):
+theory RealDef
+import PReal
+files ("real_arith.ML")
+begin
 
 constdefs
   realrel   ::  "((preal * preal) * (preal * preal)) set"
--- a/src/HOL/Real/RealPow.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Real/RealPow.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 *)
 
-theory RealPow = RealDef:
+theory RealPow
+import RealDef
+begin
 
 declare abs_mult_self [simp]
 
--- a/src/HOL/Recdef.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Recdef.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,8 @@
 
 header {* TFL: recursive function definitions *}
 
-theory Recdef = Wellfounded_Relations + Datatype
+theory Recdef
+import Wellfounded_Relations Datatype
 files
   ("../TFL/utils.ML")
   ("../TFL/usyntax.ML")
@@ -15,7 +16,8 @@
   ("../TFL/thry.ML")
   ("../TFL/tfl.ML")
   ("../TFL/post.ML")
-  ("Tools/recdef_package.ML"):
+  ("Tools/recdef_package.ML")
+begin
 
 lemma tfl_eq_True: "(x = True) --> x"
   by blast
--- a/src/HOL/Record.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Record.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -3,8 +3,10 @@
     Author:     Wolfgang Naraschewski, Norbert Schirmer  and Markus Wenzel, TU Muenchen
 *)
 
-theory Record = Product_Type
-files ("Tools/record_package.ML"):
+theory Record
+import Product_Type
+files ("Tools/record_package.ML")
+begin
 
 ML {*
 val [h1, h2] = Goal "PROP Goal (\<And>x. PROP P x) \<Longrightarrow> (PROP P x \<Longrightarrow> PROP Q) \<Longrightarrow> PROP Q";
--- a/src/HOL/Refute.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Refute.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -8,12 +8,13 @@
 
 header {* Refute *}
 
-theory Refute = Map
-
+theory Refute
+import Map
 files "Tools/prop_logic.ML"
       "Tools/sat_solver.ML"
       "Tools/refute.ML"
-      "Tools/refute_isar.ML":
+      "Tools/refute_isar.ML"
+begin
 
 setup Refute.setup
 
--- a/src/HOL/Relation.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Relation.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,7 +6,9 @@
 
 header {* Relations *}
 
-theory Relation = Product_Type:
+theory Relation
+import Product_Type
+begin
 
 subsection {* Definitions *}
 
--- a/src/HOL/Relation_Power.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Relation_Power.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -12,7 +12,9 @@
 Examples: range(f^n) = A and Range(R^n) = B need constraints.
 *)
 
-theory Relation_Power = Nat:
+theory Relation_Power
+import Nat
+begin
 
 instance
   set :: (type) power ..  (* only ('a * 'a) set should be in power! *)
--- a/src/HOL/Ring_and_Field.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Ring_and_Field.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* (Ordered) Rings and Fields *}
 
-theory Ring_and_Field = OrderedGroup:
+theory Ring_and_Field 
+import OrderedGroup
+begin
 
 text {*
   The theory of partially ordered rings is taken from the books:
--- a/src/HOL/Set.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Set.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,7 +5,9 @@
 
 header {* Set theory for higher-order logic *}
 
-theory Set = HOL:
+theory Set
+import HOL
+begin
 
 text {* A set in HOL is simply a predicate. *}
 
--- a/src/HOL/SetInterval.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/SetInterval.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -9,7 +9,9 @@
 
 header {* Set intervals *}
 
-theory SetInterval = IntArith:
+theory SetInterval
+import IntArith
+begin
 
 constdefs
   lessThan    :: "('a::ord) => 'a set"	("(1{..<_})")
--- a/src/HOL/Transitive_Closure.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Transitive_Closure.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -6,9 +6,10 @@
 
 header {* Reflexive and Transitive closure of a relation *}
 
-theory Transitive_Closure = Inductive
-
-files ("../Provers/trancl.ML"):
+theory Transitive_Closure
+import Inductive
+files ("../Provers/trancl.ML")
+begin
 
 text {*
   @{text rtrancl} is reflexive/transitive closure,
--- a/src/HOL/Typedef.thy	Mon Aug 16 14:21:54 2004 +0200
+++ b/src/HOL/Typedef.thy	Mon Aug 16 14:22:27 2004 +0200
@@ -5,8 +5,10 @@
 
 header {* HOL type definitions *}
 
-theory Typedef = Set
-files ("Tools/typedef_package.ML"):
+theory Typedef
+import Set
+files ("Tools/typedef_package.ML")
+begin
 
 locale type_definition =
   fixes Rep and Abs and A