doc-src/IsarRef/basics.tex
changeset 7466 7df66ce6508a
parent 7335 abba35b98892
child 7895 7c492d8bc8e3
equal deleted inserted replaced
7465:a987f4ff5bd3 7466:7df66ce6508a
     1 
     1 
     2 \chapter{Basic Concepts}\label{ch:basics}
     2 \chapter{Basic Concepts}\label{ch:basics}
     3 
     3 
     4 Isabelle/Isar offers two main improvements over classic Isabelle:
     4 Isabelle/Isar offers two main improvements over classic Isabelle:
     5 \begin{enumerate}
     5 \begin{enumerate}
     6 \item A new \emph{theory format}, often referred to as ``new-style theories'',
     6 \item A new \emph{theory format}, occasionally referred to as ``new-style
     7   supporting interactive development and unlimited undo operation.
     7   theories'', supporting interactive development with unlimited undo
       
     8   operation.
     8 \item A \emph{formal proof language} designed to support intelligible
     9 \item A \emph{formal proof language} designed to support intelligible
     9   semi-automated reasoning.  Rather than putting together tactic scripts, the
    10   semi-automated reasoning.  Rather than putting together tactic scripts, the
    10   author is enabled to express the reasoning in way that is close to
    11   author is enabled to express the reasoning in way that is close to
    11   mathematical practice.
    12   mathematical practice.
    12 \end{enumerate}
    13 \end{enumerate}
    13 
    14 
    14 The Isar proof language is embedded into the new theory format as a proper
    15 The Isar proof language is embedded into the new theory format as a proper
    15 sub-language.  Proof mode is entered by stating some $\THEOREMNAME$ or
    16 sub-language.  Proof mode is entered by stating some $\THEOREMNAME$ or
    16 $\LEMMANAME$ at the theory level, and left with the final end of proof (e.g.\ 
    17 $\LEMMANAME$ at the theory level, and left with the conclusion of the proof
    17 via $\QEDNAME$).  Some theory extension mechanisms require proof as well, such
    18 (via $\QEDNAME$ etc.).  Some theory extension mechanisms require proof as
    18 as the HOL $\isarkeyword{typedef}$ which only works for non-empty representing
    19 well, such as the HOL $\isarkeyword{typedef}$ which demands non-emptiness of
    19 sets.
    20 the representing sets.
    20 
    21 
    21 New-style theory files may still be associated with an ML file consisting of
    22 New-style theory files may still be associated with an ML file consisting of
    22 plain old tactic scripts.  There is no longer any ML binding generated for the
    23 plain old tactic scripts.  There is no longer any ML binding generated for the
    23 theory and theorems, though.  Functions \texttt{theory}, \texttt{thm}, and
    24 theory and theorems, though.  ML functions \texttt{theory}, \texttt{thm}, and
    24 \texttt{thms} may be used to retrieve this information from ML
    25 \texttt{thms} retrieve this information \cite{isabelle-ref}.  Nevertheless,
    25 \cite{isabelle-ref}.  Nevertheless, migration between classic Isabelle and
    26 migration between classic Isabelle and Isabelle/Isar is relatively easy.  Thus
    26 Isabelle/Isar is relatively easy.  Thus users may start to benefit from
    27 users may start to benefit from interactive theory development even before
    27 interactive theory development even before they have any idea of the Isar
    28 they have any idea of the Isar proof language.
    28 proof language.
       
    29 
    29 
    30 \begin{warn}
    30 \begin{warn}
    31   Proof~General does \emph{not} support mixed interactive development of
    31   Currently Proof~General does \emph{not} support mixed interactive
    32   classic Isabelle theory files and tactic scripts together with Isar
    32   development of classic Isabelle theory files and tactic scripts together
    33   documents at the same time.  The ``\texttt{isa}'' and ``\texttt{isar}''
    33   with Isar documents at the same time.  The ``\texttt{isa}'' and
    34   versions of Proof~General are handled as two different theorem proving
    34   ``\texttt{isar}'' versions of Proof~General are handled as two different
    35   systems, only one may be active at the same time.
    35   theorem proving systems, only one may be active at the same time.
    36 \end{warn}
    36 \end{warn}
       
    37 
       
    38 Porting of existing tactic scripts is best done by running two separate
       
    39 Proof~General sessions, one for replaying the old script and the other for the
       
    40 emerging Isabelle/Isar document.
    37 
    41 
    38 
    42 
    39 \section{The Isar proof language}
    43 \section{The Isar proof language}
    40 
    44 
    41 Sorry, this rather important section has not been written yet!  Refer to
    45 Sorry, this important section has not been written yet!  Refer to
    42 \cite{Wenzel:1999:TPHOL} for the time being.
    46 \cite{Wenzel:1999:TPHOL} for the time being.
    43 
    47 
    44 \subsection{Commands}
    48 \subsection{Commands}
    45 
    49 
    46 \subsubsection{Isar primitives}
    50 \subsubsection{Isar primitives}