doc-src/IsarRef/basics.tex
author wenzelm
Wed, 01 Sep 1999 21:13:12 +0200
changeset 7413 e25ad9ab0b50
parent 7335 abba35b98892
child 7466 7df66ce6508a
permissions -rw-r--r--
removed kill_theory; print_thms: use Proof.pretty_thms;
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}
wenzelm
parents: 7135
diff changeset
     6
\item A new \emph{theory format}, often referred to as ``new-style theories'',
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
     7
  supporting interactive development and unlimited undo operation.
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
     8
\item A \emph{formal proof language} designed to support intelligible
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
     9
  semi-automated reasoning.  Rather than putting together tactic scripts, the
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    10
  author is enabled to express the reasoning in way that is close to
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    11
  mathematical practice.
7297
wenzelm
parents: 7135
diff changeset
    12
\end{enumerate}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    13
7297
wenzelm
parents: 7135
diff changeset
    14
The Isar proof language is embedded into the new theory format as a proper
wenzelm
parents: 7135
diff changeset
    15
sub-language.  Proof mode is entered by stating some $\THEOREMNAME$ or
7335
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    16
$\LEMMANAME$ at the theory level, and left with the final end of proof (e.g.\ 
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    17
via $\QEDNAME$).  Some theory extension mechanisms require proof as well, such
7335
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    18
as the HOL $\isarkeyword{typedef}$ which only works for non-empty representing
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    19
sets.
7297
wenzelm
parents: 7135
diff changeset
    20
wenzelm
parents: 7135
diff changeset
    21
New-style theory files may still be associated with an ML file consisting of
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    22
plain old tactic scripts.  There is no longer any ML binding generated for the
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    23
theory and theorems, though.  Functions \texttt{theory}, \texttt{thm}, and
7335
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    24
\texttt{thms} may be used to retrieve this information from ML
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    25
\cite{isabelle-ref}.  Nevertheless, migration between classic Isabelle and
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    26
Isabelle/Isar is relatively easy.  Thus users may start to benefit from
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    27
interactive theory development even before they have any idea of the Isar
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    28
proof language.
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    29
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    30
\begin{warn}
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    31
  Proof~General does \emph{not} support mixed interactive development of
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    32
  classic Isabelle theory files and tactic scripts together with Isar
7335
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    33
  documents at the same time.  The ``\texttt{isa}'' and ``\texttt{isar}''
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    34
  versions of Proof~General are handled as two different theorem proving
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    35
  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
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    38
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    39
\section{The Isar proof language}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    40
7335
abba35b98892 draft release;
wenzelm
parents: 7315
diff changeset
    41
Sorry, this rather important section has not been written yet!  Refer to
7297
wenzelm
parents: 7135
diff changeset
    42
\cite{Wenzel:1999:TPHOL} for the time being.
wenzelm
parents: 7135
diff changeset
    43
wenzelm
parents: 7135
diff changeset
    44
\subsection{Commands}
wenzelm
parents: 7135
diff changeset
    45
wenzelm
parents: 7135
diff changeset
    46
\subsubsection{Isar primitives}
wenzelm
parents: 7135
diff changeset
    47
wenzelm
parents: 7135
diff changeset
    48
\subsubsection{Derived elements}
wenzelm
parents: 7135
diff changeset
    49
7135
wenzelm
parents: 7046
diff changeset
    50
wenzelm
parents: 7046
diff changeset
    51
\subsection{Methods}
7046
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    52
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    53
\subsection{Attributes}
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    54
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    55
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    56
%%% Local Variables: 
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    57
%%% mode: latex
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    58
%%% TeX-master: "isar-ref"
9f755ff43cff skeleton only;
wenzelm
parents:
diff changeset
    59
%%% End: