doc-src/IsarRef/basics.tex
author wenzelm
Sat, 04 Sep 1999 20:57:32 +0200
changeset 7466 7df66ce6508a
parent 7335 abba35b98892
child 7895 7c492d8bc8e3
permissions -rw-r--r--
updated;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
     1
7297
wenzelm
parents: 7135
diff changeset
     2
\chapter{Basic Concepts}\label{ch:basics}
wenzelm
parents: 7135
diff changeset
     3
wenzelm
parents: 7135
diff changeset
     4
Isabelle/Isar offers two main improvements over classic Isabelle:
wenzelm
parents: 7135
diff changeset
     5
\begin{enumerate}
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
     6
\item A new \emph{theory format}, occasionally referred to as ``new-style
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
     7
  theories'', supporting interactive development with unlimited undo
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
     8
  operation.
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
     9
\item A \emph{formal proof language} designed to support intelligible
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    10
  semi-automated reasoning.  Rather than putting together tactic scripts, the
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    11
  author is enabled to express the reasoning in way that is close to
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    12
  mathematical practice.
7297
wenzelm
parents: 7135
diff changeset
    13
\end{enumerate}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    14
7297
wenzelm
parents: 7135
diff changeset
    15
The Isar proof language is embedded into the new theory format as a proper
wenzelm
parents: 7135
diff changeset
    16
sub-language.  Proof mode is entered by stating some $\THEOREMNAME$ or
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    17
$\LEMMANAME$ at the theory level, and left with the conclusion of the proof
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    18
(via $\QEDNAME$ etc.).  Some theory extension mechanisms require proof as
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    19
well, such as the HOL $\isarkeyword{typedef}$ which demands non-emptiness of
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    20
the representing sets.
7297
wenzelm
parents: 7135
diff changeset
    21
wenzelm
parents: 7135
diff changeset
    22
New-style theory files may still be associated with an ML file consisting of
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    23
plain old tactic scripts.  There is no longer any ML binding generated for the
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    24
theory and theorems, though.  ML functions \texttt{theory}, \texttt{thm}, and
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    25
\texttt{thms} retrieve this information \cite{isabelle-ref}.  Nevertheless,
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    26
migration between classic Isabelle and Isabelle/Isar is relatively easy.  Thus
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    27
users may start to benefit from interactive theory development even before
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    28
they have any idea of the Isar proof language.
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    29
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    30
\begin{warn}
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    31
  Currently Proof~General does \emph{not} support mixed interactive
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    32
  development of classic Isabelle theory files and tactic scripts together
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    33
  with Isar documents at the same time.  The ``\texttt{isa}'' and
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    34
  ``\texttt{isar}'' versions of Proof~General are handled as two different
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    35
  theorem proving systems, only one may be active at the same time.
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    36
\end{warn}
7297
wenzelm
parents: 7135
diff changeset
    37
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    38
Porting of existing tactic scripts is best done by running two separate
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    39
Proof~General sessions, one for replaying the old script and the other for the
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    40
emerging Isabelle/Isar document.
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    41
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    42
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    43
\section{The Isar proof language}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    44
7466
7df66ce6508a updated;
wenzelm
parents: 7335
diff changeset
    45
Sorry, this important section has not been written yet!  Refer to
7297
wenzelm
parents: 7135
diff changeset
    46
\cite{Wenzel:1999:TPHOL} for the time being.
wenzelm
parents: 7135
diff changeset
    47
wenzelm
parents: 7135
diff changeset
    48
\subsection{Commands}
wenzelm
parents: 7135
diff changeset
    49
wenzelm
parents: 7135
diff changeset
    50
\subsubsection{Isar primitives}
wenzelm
parents: 7135
diff changeset
    51
wenzelm
parents: 7135
diff changeset
    52
\subsubsection{Derived elements}
wenzelm
parents: 7135
diff changeset
    53
7135
wenzelm
parents: 7046
diff changeset
    54
wenzelm
parents: 7046
diff changeset
    55
\subsection{Methods}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    56
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    57
\subsection{Attributes}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    58
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    59
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    60
%%% Local Variables: 
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    61
%%% mode: latex
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    62
%%% TeX-master: "isar-ref"
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    63
%%% End: