dropped references to old axclass from documentation
authorhaftmann
Mon, 22 Feb 2010 17:02:39 +0100
changeset 352828fd9d555d04d
parent 35281 206e2f1759cc
child 35285 40da65ef68e3
child 35315 fbdc860d87a3
dropped references to old axclass from documentation
doc-src/Classes/Thy/Classes.thy
doc-src/Classes/Thy/document/Classes.tex
doc-src/IsarRef/Thy/Spec.thy
doc-src/IsarRef/Thy/document/Spec.tex
     1.1 --- a/doc-src/Classes/Thy/Classes.thy	Mon Feb 22 14:11:03 2010 +0100
     1.2 +++ b/doc-src/Classes/Thy/Classes.thy	Mon Feb 22 17:02:39 2010 +0100
     1.3 @@ -362,17 +362,18 @@
     1.4  
     1.5  text {*
     1.6    \noindent The connection to the type system is done by means
     1.7 -  of a primitive axclass
     1.8 +  of a primitive type class
     1.9  *} (*<*)setup %invisible {* Sign.add_path "foo" *}
    1.10  (*>*)
    1.11 -axclass %quote idem < type
    1.12 -  idem: "f (f x) = f x" (*<*)setup %invisible {* Sign.parent_path *}(*>*)
    1.13 +classes %quote idem < type
    1.14 +(*<*)axiomatization where idem: "f (f (x::\<alpha>\<Colon>idem)) = f x"
    1.15 +setup %invisible {* Sign.parent_path *}(*>*)
    1.16  
    1.17  text {* \noindent together with a corresponding interpretation: *}
    1.18  
    1.19  interpretation %quote idem_class:
    1.20    idem "f \<Colon> (\<alpha>\<Colon>idem) \<Rightarrow> \<alpha>"
    1.21 -proof qed (rule idem)
    1.22 +(*<*)proof qed (rule idem)(*>*)
    1.23  
    1.24  text {*
    1.25    \noindent This gives you the full power of the Isabelle module system;
    1.26 @@ -414,8 +415,7 @@
    1.27  subsection {* Derived definitions *}
    1.28  
    1.29  text {*
    1.30 -  Isabelle locales support a concept of local definitions
    1.31 -  in locales:
    1.32 +  Isabelle locales are targets which support local definitions:
    1.33  *}
    1.34  
    1.35  primrec %quote (in monoid) pow_nat :: "nat \<Rightarrow> \<alpha> \<Rightarrow> \<alpha>" where
     2.1 --- a/doc-src/Classes/Thy/document/Classes.tex	Mon Feb 22 14:11:03 2010 +0100
     2.2 +++ b/doc-src/Classes/Thy/document/Classes.tex	Mon Feb 22 17:02:39 2010 +0100
     2.3 @@ -641,7 +641,7 @@
     2.4  %
     2.5  \begin{isamarkuptext}%
     2.6  \noindent The connection to the type system is done by means
     2.7 -  of a primitive axclass%
     2.8 +  of a primitive type class%
     2.9  \end{isamarkuptext}%
    2.10  \isamarkuptrue%
    2.11  \ %
    2.12 @@ -663,9 +663,8 @@
    2.13  \endisadelimquote
    2.14  %
    2.15  \isatagquote
    2.16 -\isacommand{axclass}\isamarkupfalse%
    2.17 -\ idem\ {\isacharless}\ type\isanewline
    2.18 -\ \ idem{\isacharcolon}\ {\isachardoublequoteopen}f\ {\isacharparenleft}f\ x{\isacharparenright}\ {\isacharequal}\ f\ x{\isachardoublequoteclose}\ %
    2.19 +\isacommand{classes}\isamarkupfalse%
    2.20 +\ idem\ {\isacharless}\ type%
    2.21  \endisatagquote
    2.22  {\isafoldquote}%
    2.23  %
    2.24 @@ -698,10 +697,7 @@
    2.25  \isatagquote
    2.26  \isacommand{interpretation}\isamarkupfalse%
    2.27  \ idem{\isacharunderscore}class{\isacharcolon}\isanewline
    2.28 -\ \ idem\ {\isachardoublequoteopen}f\ {\isasymColon}\ {\isacharparenleft}{\isasymalpha}{\isasymColon}idem{\isacharparenright}\ {\isasymRightarrow}\ {\isasymalpha}{\isachardoublequoteclose}\isanewline
    2.29 -\isacommand{proof}\isamarkupfalse%
    2.30 -\ \isacommand{qed}\isamarkupfalse%
    2.31 -\ {\isacharparenleft}rule\ idem{\isacharparenright}%
    2.32 +\ \ idem\ {\isachardoublequoteopen}f\ {\isasymColon}\ {\isacharparenleft}{\isasymalpha}{\isasymColon}idem{\isacharparenright}\ {\isasymRightarrow}\ {\isasymalpha}{\isachardoublequoteclose}%
    2.33  \endisatagquote
    2.34  {\isafoldquote}%
    2.35  %
     3.1 --- a/doc-src/IsarRef/Thy/Spec.thy	Mon Feb 22 14:11:03 2010 +0100
     3.2 +++ b/doc-src/IsarRef/Thy/Spec.thy	Mon Feb 22 17:02:39 2010 +0100
     3.3 @@ -738,44 +738,6 @@
     3.4  *}
     3.5  
     3.6  
     3.7 -subsection {* Old-style axiomatic type classes \label{sec:axclass} *}
     3.8 -
     3.9 -text {*
    3.10 -  \begin{matharray}{rcl}
    3.11 -    @{command_def "axclass"} & : & @{text "theory \<rightarrow> theory"}
    3.12 -  \end{matharray}
    3.13 -
    3.14 -  Axiomatic type classes are Isabelle/Pure's primitive
    3.15 -  interface to type classes.  For practical
    3.16 -  applications, you should consider using classes
    3.17 -  (cf.~\secref{sec:classes}) which provide high level interface.
    3.18 -
    3.19 -  \begin{rail}
    3.20 -    'axclass' classdecl (axmdecl prop +)
    3.21 -    ;
    3.22 -  \end{rail}
    3.23 -
    3.24 -  \begin{description}
    3.25 -  
    3.26 -  \item @{command "axclass"}~@{text "c \<subseteq> c\<^sub>1, \<dots>, c\<^sub>n axms"} defines an
    3.27 -  axiomatic type class as the intersection of existing classes, with
    3.28 -  additional axioms holding.  Class axioms may not contain more than
    3.29 -  one type variable.  The class axioms (with implicit sort constraints
    3.30 -  added) are bound to the given names.  Furthermore a class
    3.31 -  introduction rule is generated (being bound as @{text
    3.32 -  c_class.intro}); this rule is employed by method @{method
    3.33 -  intro_classes} to support instantiation proofs of this class.
    3.34 -  
    3.35 -  The ``class axioms'' (which are derived from the internal class
    3.36 -  definition) are stored as theorems according to the given name
    3.37 -  specifications; the name space prefix @{text "c_class"} is added
    3.38 -  here.  The full collection of these facts is also stored as @{text
    3.39 -  c_class.axioms}.
    3.40 -  
    3.41 -  \end{description}
    3.42 -*}
    3.43 -
    3.44 -
    3.45  section {* Unrestricted overloading *}
    3.46  
    3.47  text {*
    3.48 @@ -962,8 +924,9 @@
    3.49  
    3.50    \item @{command "classrel"}~@{text "c\<^sub>1 \<subseteq> c\<^sub>2"} states subclass
    3.51    relations between existing classes @{text "c\<^sub>1"} and @{text "c\<^sub>2"}.
    3.52 -  This is done axiomatically!  The @{command_ref "instance"} command
    3.53 -  (see \secref{sec:axclass}) provides a way to introduce proven class
    3.54 +  This is done axiomatically!  The @{command_ref "instance"}
    3.55 +  and @{command_ref "subclass"} command
    3.56 +  (see \secref{sec:class}) provide a way to introduce proven class
    3.57    relations.
    3.58  
    3.59    \item @{command "defaultsort"}~@{text s} makes sort @{text s} the
    3.60 @@ -1021,8 +984,8 @@
    3.61  
    3.62    \item @{command "arities"}~@{text "t :: (s\<^sub>1, \<dots>, s\<^sub>n)s"} augments
    3.63    Isabelle's order-sorted signature of types by new type constructor
    3.64 -  arities.  This is done axiomatically!  The @{command_ref "instance"}
    3.65 -  command (see \secref{sec:axclass}) provides a way to introduce
    3.66 +  arities.  This is done axiomatically!  The @{command_ref "instantiation"}
    3.67 +  target (see \secref{sec:class}) provides a way to introduce
    3.68    proven type arities.
    3.69  
    3.70    \end{description}
     4.1 --- a/doc-src/IsarRef/Thy/document/Spec.tex	Mon Feb 22 14:11:03 2010 +0100
     4.2 +++ b/doc-src/IsarRef/Thy/document/Spec.tex	Mon Feb 22 17:02:39 2010 +0100
     4.3 @@ -755,43 +755,6 @@
     4.4  \end{isamarkuptext}%
     4.5  \isamarkuptrue%
     4.6  %
     4.7 -\isamarkupsubsection{Old-style axiomatic type classes \label{sec:axclass}%
     4.8 -}
     4.9 -\isamarkuptrue%
    4.10 -%
    4.11 -\begin{isamarkuptext}%
    4.12 -\begin{matharray}{rcl}
    4.13 -    \indexdef{}{command}{axclass}\hypertarget{command.axclass}{\hyperlink{command.axclass}{\mbox{\isa{\isacommand{axclass}}}}} & : & \isa{{\isachardoublequote}theory\ {\isasymrightarrow}\ theory{\isachardoublequote}}
    4.14 -  \end{matharray}
    4.15 -
    4.16 -  Axiomatic type classes are Isabelle/Pure's primitive
    4.17 -  interface to type classes.  For practical
    4.18 -  applications, you should consider using classes
    4.19 -  (cf.~\secref{sec:classes}) which provide high level interface.
    4.20 -
    4.21 -  \begin{rail}
    4.22 -    'axclass' classdecl (axmdecl prop +)
    4.23 -    ;
    4.24 -  \end{rail}
    4.25 -
    4.26 -  \begin{description}
    4.27 -  
    4.28 -  \item \hyperlink{command.axclass}{\mbox{\isa{\isacommand{axclass}}}}~\isa{{\isachardoublequote}c\ {\isasymsubseteq}\ c\isactrlsub {\isadigit{1}}{\isacharcomma}\ {\isasymdots}{\isacharcomma}\ c\isactrlsub n\ axms{\isachardoublequote}} defines an
    4.29 -  axiomatic type class as the intersection of existing classes, with
    4.30 -  additional axioms holding.  Class axioms may not contain more than
    4.31 -  one type variable.  The class axioms (with implicit sort constraints
    4.32 -  added) are bound to the given names.  Furthermore a class
    4.33 -  introduction rule is generated (being bound as \isa{c{\isacharunderscore}class{\isachardot}intro}); this rule is employed by method \hyperlink{method.intro-classes}{\mbox{\isa{intro{\isacharunderscore}classes}}} to support instantiation proofs of this class.
    4.34 -  
    4.35 -  The ``class axioms'' (which are derived from the internal class
    4.36 -  definition) are stored as theorems according to the given name
    4.37 -  specifications; the name space prefix \isa{{\isachardoublequote}c{\isacharunderscore}class{\isachardoublequote}} is added
    4.38 -  here.  The full collection of these facts is also stored as \isa{c{\isacharunderscore}class{\isachardot}axioms}.
    4.39 -  
    4.40 -  \end{description}%
    4.41 -\end{isamarkuptext}%
    4.42 -\isamarkuptrue%
    4.43 -%
    4.44  \isamarkupsection{Unrestricted overloading%
    4.45  }
    4.46  \isamarkuptrue%
    4.47 @@ -996,8 +959,9 @@
    4.48  
    4.49    \item \hyperlink{command.classrel}{\mbox{\isa{\isacommand{classrel}}}}~\isa{{\isachardoublequote}c\isactrlsub {\isadigit{1}}\ {\isasymsubseteq}\ c\isactrlsub {\isadigit{2}}{\isachardoublequote}} states subclass
    4.50    relations between existing classes \isa{{\isachardoublequote}c\isactrlsub {\isadigit{1}}{\isachardoublequote}} and \isa{{\isachardoublequote}c\isactrlsub {\isadigit{2}}{\isachardoublequote}}.
    4.51 -  This is done axiomatically!  The \indexref{}{command}{instance}\hyperlink{command.instance}{\mbox{\isa{\isacommand{instance}}}} command
    4.52 -  (see \secref{sec:axclass}) provides a way to introduce proven class
    4.53 +  This is done axiomatically!  The \indexref{}{command}{instance}\hyperlink{command.instance}{\mbox{\isa{\isacommand{instance}}}}
    4.54 +  and \indexref{}{command}{subclass}\hyperlink{command.subclass}{\mbox{\isa{\isacommand{subclass}}}} command
    4.55 +  (see \secref{sec:class}) provide a way to introduce proven class
    4.56    relations.
    4.57  
    4.58    \item \hyperlink{command.defaultsort}{\mbox{\isa{\isacommand{defaultsort}}}}~\isa{s} makes sort \isa{s} the
    4.59 @@ -1056,8 +1020,8 @@
    4.60  
    4.61    \item \hyperlink{command.arities}{\mbox{\isa{\isacommand{arities}}}}~\isa{{\isachardoublequote}t\ {\isacharcolon}{\isacharcolon}\ {\isacharparenleft}s\isactrlsub {\isadigit{1}}{\isacharcomma}\ {\isasymdots}{\isacharcomma}\ s\isactrlsub n{\isacharparenright}s{\isachardoublequote}} augments
    4.62    Isabelle's order-sorted signature of types by new type constructor
    4.63 -  arities.  This is done axiomatically!  The \indexref{}{command}{instance}\hyperlink{command.instance}{\mbox{\isa{\isacommand{instance}}}}
    4.64 -  command (see \secref{sec:axclass}) provides a way to introduce
    4.65 +  arities.  This is done axiomatically!  The \indexref{}{command}{instantiation}\hyperlink{command.instantiation}{\mbox{\isa{\isacommand{instantiation}}}}
    4.66 +  target (see \secref{sec:class}) provides a way to introduce
    4.67    proven type arities.
    4.68  
    4.69    \end{description}%