doc-src/IsarRef/basics.tex
author wenzelm
Sun, 22 Aug 1999 21:13:20 +0200
changeset 7315 76a39a3784b5
parent 7297 c1eeeadbe80a
child 7335 abba35b98892
permissions -rw-r--r--
checkpoint;
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
7315
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    16
$\LEMMANAME$ at the theory levels, and left with the final end of proof (e.g.\ 
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    17
via $\QEDNAME$).  Some theory extension mechanisms require proof as well, such
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    18
as the HOL $\isarkeyword{typedef}$ mechanism that only works for non-empty
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    19
representing 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
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    24
\texttt{thms} may be used to retrieve this information from ML (see also
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    25
\cite{isabelle-ref}).  Nevertheless, migration between classic Isabelle and
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
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    33
  documents at the same time.  The \texttt{isa} and \texttt{isar} versions of
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    34
  Proof~General appear as two different theorem proving systems; only one
76a39a3784b5 checkpoint;
wenzelm
parents: 7297
diff changeset
    35
  prover may be active at any time.
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
7297
wenzelm
parents: 7135
diff changeset
    41
This rather important section has not been written yet!  Refer to
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: