author haftmann Tue, 26 May 2009 13:40:49 +0200 changeset 31255 0f8cb37bcafd parent 31254 03a35fbc9dc6 child 31256 cf75908fd3c3
clarified benefit of interpretation
--- a/doc-src/Classes/Thy/Classes.thy	Tue May 26 12:31:01 2009 +0200
+++ b/doc-src/Classes/Thy/Classes.thy	Tue May 26 13:40:49 2009 +0200
@@ -485,14 +485,23 @@
qed
qed intro_locales

+text {*
+  \noindent This pattern is also helpful to reuse abstract
+  specifications on the \emph{same} type.  For example, think of a
+  class @{text preorder}; for type @{typ nat}, there are at least two
+  possible instances: the natural order or the order induced by the
+  divides relation.  But only one of these instances can be used for
+  @{command instantiation}; using the locale behind the class @{text
+  preorder}, it is still possible to utilise the same abstract
+  specification again using @{command interpretation}.
+*}

subsection {* Additional subclass relations *}

text {*
-  Any @{text "group"} is also a @{text "monoid"};  this
-  subclass relation,
-  together with a proof of the logical difference:
+  Any @{text "group"} is also a @{text "monoid"}; this can be made
+  explicit by claiming an additional subclass relation, together with
+  a proof of the logical difference:
*}

subclass %quote (in group) monoid
@@ -559,7 +568,7 @@
subsection {* A note on syntax *}

text {*
-  As a commodity, class context syntax allows to refer
+  As a convenience, class context syntax allows to refer
to local class operations and their global counterparts
uniformly;  type inference resolves ambiguities.  For example:
*}
--- a/doc-src/Classes/Thy/document/Classes.tex	Tue May 26 12:31:01 2009 +0200
+++ b/doc-src/Classes/Thy/document/Classes.tex	Tue May 26 13:40:49 2009 +0200
@@ -922,15 +922,25 @@
%
%
+\begin{isamarkuptext}%
+\noindent This pattern is also helpful to reuse abstract
+  specifications on the \emph{same} type.  For example, think of a
+  class \isa{preorder}; for type \isa{nat}, there are at least two
+  possible instances: the natural order or the order induced by the
+  divides relation.  But only one of these instances can be used for
+  \hyperlink{command.instantiation}{\mbox{\isa{\isacommand{instantiation}}}}; using the locale behind the class \isa{preorder}, it is still possible to utilise the same abstract
+\end{isamarkuptext}%
+\isamarkuptrue%
+%
}
\isamarkuptrue%
%
\begin{isamarkuptext}%
-Any \isa{group} is also a \isa{monoid};  this
-  subclass relation,
-  together with a proof of the logical difference:%
+Any \isa{group} is also a \isa{monoid}; this can be made
+  explicit by claiming an additional subclass relation, together with
+  a proof of the logical difference:%
\end{isamarkuptext}%
\isamarkuptrue%
%
@@ -1038,7 +1048,7 @@
\isamarkuptrue%
%
\begin{isamarkuptext}%
-As a commodity, class context syntax allows to refer
+As a convenience, class context syntax allows to refer
to local class operations and their global counterparts
uniformly;  type inference resolves ambiguities.  For example:%
\end{isamarkuptext}%