tuned;
authorwenzelm
Thu, 07 Mar 2002 23:21:19 +0100
changeset 13042d8a345d9e067
parent 13041 6faccf7d0f25
child 13043 ad1828b479b7
tuned;
ANNOUNCE
NEWS
doc-src/IsarRef/conversion.tex
doc-src/IsarRef/generic.tex
doc-src/IsarRef/logics.tex
doc-src/IsarRef/pure.tex
doc-src/isar.sty
     1.1 --- a/ANNOUNCE	Thu Mar 07 22:52:07 2002 +0100
     1.2 +++ b/ANNOUNCE	Thu Mar 07 23:21:19 2002 +0100
     1.3 @@ -18,7 +18,7 @@
     1.4      Isabelle2002 is the official version to go along with that book
     1.5      (by Tobias Nipkow, Larry Paulson, Markus Wenzel).
     1.6  
     1.7 -  * Pure: explicit proof terms for all internal inferences:
     1.8 +  * Pure: explicit proof terms for all internal inferences;
     1.9      object-logics, proof tools etc. will benefit automatically
    1.10      (by Stefan Berghofer).
    1.11  
    1.12 @@ -27,28 +27,30 @@
    1.13      operations, and type-inference for structured specifications
    1.14      (by Markus Wenzel).
    1.15  
    1.16 -  * Pure/Isar: streamlined induction proof patterns
    1.17 +  * Pure/Isar: streamlined cases/induction proof patterns
    1.18      (by Markus Wenzel).
    1.19  
    1.20    * Pure/HOL: infrastructure for generating functional and relational
    1.21 -    code, using the ML run-time environment (by Stefan Berghofer).
    1.22 +    code, using the ML run-time environment
    1.23 +    (by Stefan Berghofer).
    1.24  
    1.25 -  * HOL/library: numerals on all number types; several
    1.26 -    improvements of tuple and record types; new definite description
    1.27 -    operator; keep Hilbert's epsilon (Axiom of Choice) out of basic theories.
    1.28 +  * HOL/library: numerals on all number types; several improvements of
    1.29 +    tuple and record types; new definite description operator; keep
    1.30 +    Hilbert's epsilon (Axiom of Choice) out of basic theories
    1.31 +    (by Stefan Berghofer, Larry Paulson, Markus Wenzel).
    1.32  
    1.33    * HOL/Bali: large application concerning formal treatment of Java.
    1.34      (by David von Oheimb and Norbert Schirmer).
    1.35  
    1.36    * HOL/HoareParallel: large application concerning verification of
    1.37      parallel imperative programs (Owicki-Gries method, Rely-Guarantee
    1.38 -    method, examples of garbage collection, mutual exclusion, etc.)
    1.39 +    method, examples of garbage collection, mutual exclusion)
    1.40      (by Leonor Prensa Nieto).
    1.41  
    1.42    * HOL/GroupTheory: group theory examples including Sylow's theorem
    1.43 -    (by Florian Kammüller).
    1.44 +    (by Florian Kammueller).
    1.45  
    1.46 -  * HOL/IMP: new proofs in Isar format
    1.47 +  * HOL/IMP: several new proofs in Isar format
    1.48      (by Gerwin Klein).
    1.49  
    1.50    * HOL/MicroJava: exception handling on the bytecode level
    1.51 @@ -61,10 +63,8 @@
    1.52      (by Markus Wenzel).
    1.53  
    1.54    * System: support for Poly/ML 4.1.1 and PolyML/4.1.2, admitting
    1.55 -    larger heap size of applications.
    1.56 -
    1.57 -  * System: support for MacOS X (for Poly/ML and SML/NJ).
    1.58 -
    1.59 +    larger heap size of applications; support for MacOS X (Poly/ML and
    1.60 +    SML/NJ).
    1.61  
    1.62  You may get Isabelle2002 from any of the following mirror sites:
    1.63  
     2.1 --- a/NEWS	Thu Mar 07 22:52:07 2002 +0100
     2.2 +++ b/NEWS	Thu Mar 07 23:21:19 2002 +0100
     2.3 @@ -210,7 +210,7 @@
     2.4  
     2.5    - remove all special provisions on numerals in proofs;
     2.6  
     2.7 -* HOL: simp rules nat_number_of expand numerals on nat to Suc/0
     2.8 +* HOL: simp rules nat_number expand numerals on nat to Suc/0
     2.9  representation (depends on bin_arith_simps in the default context);
    2.10  
    2.11  * HOL: symbolic syntax for x^2 (numeral 2);
     3.1 --- a/doc-src/IsarRef/conversion.tex	Thu Mar 07 22:52:07 2002 +0100
     3.2 +++ b/doc-src/IsarRef/conversion.tex	Thu Mar 07 23:21:19 2002 +0100
     3.3 @@ -188,7 +188,7 @@
     3.4  This may be replaced by using the $unfold$ proof method explicitly.
     3.5  \begin{matharray}{l}
     3.6  \LEMMA{name}{\texttt"{\phi}\texttt"} \\
     3.7 -\quad \APPLY{unfold~def@1~\dots} \\
     3.8 +\quad \APPLY{(unfold~def@1~\dots)} \\
     3.9  \end{matharray}
    3.10  
    3.11  
    3.12 @@ -224,7 +224,7 @@
    3.13  $simp$, $blast$, or $auto$.  This could work as follows:
    3.14  \begin{matharray}{l}
    3.15    \LEMMA{}{\texttt"{\phi@1 \Imp \dots \Imp \psi}\texttt"} \\
    3.16 -  \quad \BYY{unfold~defs}{blast} \\
    3.17 +  \quad \BYY{(unfold~defs)}{blast} \\
    3.18  \end{matharray}
    3.19  Note that classic Isabelle would support this form only in the special case
    3.20  where $\phi@1$, \dots are atomic statements (when using the standard
    3.21 @@ -265,7 +265,7 @@
    3.22  
    3.23  \begin{matharray}{l}
    3.24    \LEMMA{name}{\texttt"{\All{\vec x}\vec\phi \Imp \psi}\texttt"} \\
    3.25 -  \quad \APPLY{atomize~(full)} \\
    3.26 +  \quad \APPLY{(atomize~(full))} \\
    3.27    \quad \APPLY{meth@1} \\
    3.28    \qquad \vdots \\
    3.29    \quad \DONE \\
     4.1 --- a/doc-src/IsarRef/generic.tex	Thu Mar 07 22:52:07 2002 +0100
     4.2 +++ b/doc-src/IsarRef/generic.tex	Thu Mar 07 23:21:19 2002 +0100
     4.3 @@ -230,8 +230,8 @@
     4.4    \quad \PROOF{succeed} \\
     4.5    \qquad \FIX{thesis} \\
     4.6    \qquad \ASSUME{that~[intro?]}{\All{\vec x} \vec\phi \Imp thesis} \\
     4.7 -  \qquad \SHOW{}{thesis} \\
     4.8 -  \quad\qquad \APPLY{insert~that} \\
     4.9 +  \qquad \THUS{}{thesis} \\
    4.10 +  \quad\qquad \APPLY{-} \\
    4.11    \quad\qquad \USING{\vec b}~~\langle proof\rangle \\
    4.12    \quad \QED{} \\
    4.13    \quad \FIX{\vec x}~\ASSUMENAME^\ast~a\colon~\vec\phi \\
     5.1 --- a/doc-src/IsarRef/logics.tex	Thu Mar 07 22:52:07 2002 +0100
     5.2 +++ b/doc-src/IsarRef/logics.tex	Thu Mar 07 23:21:19 2002 +0100
     5.3 @@ -228,18 +228,16 @@
     5.4  \medskip
     5.5  
     5.6  In Isabelle/HOL record types have to be defined explicitly, fixing their field
     5.7 -names and types, and their (optional) parent record (see
     5.8 -{\S}\ref{sec:hol-record-def}).  Afterwards, records may be formed using above
     5.9 -syntax, while obeying the canonical order of fields as given by their
    5.10 -declaration.  The record package provides several standard operations like
    5.11 -selectors and updates (see {\S}\ref{sec:hol-record-ops}).  The common setup
    5.12 -for various generic proof tools enable succinct reasoning patterns (see
    5.13 -{\S}\ref{sec:hol-record-thms}).  See also the Isabelle/HOL tutorial
    5.14 -\cite{isabelle-hol-book} for further instructions on using records in
    5.15 +names and types, and their (optional) parent record.  Afterwards, records may
    5.16 +be formed using above syntax, while obeying the canonical order of fields as
    5.17 +given by their declaration.  The record package provides several standard
    5.18 +operations like selectors and updates.  The common setup for various generic
    5.19 +proof tools enable succinct reasoning patterns.  See also the Isabelle/HOL
    5.20 +tutorial \cite{isabelle-hol-book} for further instructions on using records in
    5.21  practice.
    5.22  
    5.23  
    5.24 -\subsubsection{Record specifications}\label{sec:hol-record-def}
    5.25 +\subsubsection{Record specifications}
    5.26  
    5.27  \indexisarcmdof{HOL}{record}
    5.28  \begin{matharray}{rcl}
    5.29 @@ -275,7 +273,7 @@
    5.30  
    5.31  \end{descr}
    5.32  
    5.33 -\subsubsection{Record operations}\label{sec:hol-record-ops}
    5.34 +\subsubsection{Record operations}
    5.35  
    5.36  Any record definition of the form presented above produces certain standard
    5.37  operations.  Selectors and updates are provided for any field, including the
    5.38 @@ -343,7 +341,7 @@
    5.39  \noindent Note that $t{\dtt}make$ and $t{\dtt}fields$ actually coincide for root records.
    5.40  
    5.41  
    5.42 -\subsubsection{Derived rules and proof tools}\label{sec:hol-record-thms}
    5.43 +\subsubsection{Derived rules and proof tools}
    5.44  
    5.45  The record package proves several results internally, declaring these facts to
    5.46  appropriate proof tools.  This enables users to reason about record structures
    5.47 @@ -425,9 +423,8 @@
    5.48  old-style theory syntax being used there!  Apart from proper proof methods for
    5.49  case-analysis and induction, there are also emulations of ML tactics
    5.50  \texttt{case_tac} and \texttt{induct_tac} available, see
    5.51 -\S\ref{sec:hol-induct-tac} or \S\ref{sec:zf-induct-tac}; these admit to refer
    5.52 -directly to the internal structure of subgoals (including internally bound
    5.53 -parameters).
    5.54 +\S\ref{sec:hol-induct-tac}; these admit to refer directly to the internal
    5.55 +structure of subgoals (including internally bound parameters).
    5.56  
    5.57  
    5.58  \subsection{Recursive functions}\label{sec:recursion}
    5.59 @@ -858,7 +855,7 @@
    5.60  \end{rail}
    5.61  
    5.62  
    5.63 -\subsubsection{Cases and induction: emulating tactic scripts}\label{sec:zf-induct-tac}
    5.64 +\subsubsection{Cases and induction: emulating tactic scripts}
    5.65  
    5.66  The following important tactical tools of Isabelle/ZF have been ported to
    5.67  Isar.  These should be never used in proper proof texts!
     6.1 --- a/doc-src/IsarRef/pure.tex	Thu Mar 07 22:52:07 2002 +0100
     6.2 +++ b/doc-src/IsarRef/pure.tex	Thu Mar 07 23:21:19 2002 +0100
     6.3 @@ -1194,6 +1194,7 @@
     6.4  \end{rail}
     6.5  
     6.6  \begin{descr}
     6.7 +
     6.8  \item [$\APPLY{m}$] applies proof method $m$ in initial position, but unlike
     6.9    $\PROOFNAME$ it retains ``$proof(prove)$'' mode.  Thus consecutive method
    6.10    applications may be given just as in tactic scripts.
    6.11 @@ -1229,6 +1230,7 @@
    6.12    $\isarkeyword{lemmas}$ (cf.\ \S\ref{sec:axms-thms}), so
    6.13    $\isarkeyword{declare}$ only has the effect of applying attributes as
    6.14    included in the theorem specification.
    6.15 +
    6.16  \end{descr}
    6.17  
    6.18  Any proper Isar proof method may be used with tactic script commands such as
     7.1 --- a/doc-src/isar.sty	Thu Mar 07 22:52:07 2002 +0100
     7.2 +++ b/doc-src/isar.sty	Thu Mar 07 23:21:19 2002 +0100
     7.3 @@ -30,7 +30,7 @@
     7.4  \newcommand{\isaratt}{attribute}
     7.5  
     7.6  \newcommand{\I@optname}[1]{\ifthenelse{\equal{}{#1}}{}{~#1\colon}}
     7.7 -\newcommand{\I@optmeth}[1]{\ifthenelse{\equal{}{#1}}{}{~(#1)}}
     7.8 +\newcommand{\I@optmeth}[1]{\ifthenelse{\equal{}{#1}}{}{~#1}}
     7.9  
    7.10  \newcommand{\AND}{\isarkeyword{and}}
    7.11  \newcommand{\IN}{\isarkeyword{in}}