author | wenzelm |
Mon, 12 Feb 2001 20:44:02 +0100 | |
changeset 11100 | 34d58b1818f4 |
parent 10858 | 479dad7b3b41 |
child 12618 | 43a97a2155d0 |
permissions | -rw-r--r-- |
7046 | 1 |
|
2 |
%% $Id$ |
|
3 |
||
7836 | 4 |
\documentclass[12pt,a4paper,fleqn]{report} |
9695 | 5 |
\usepackage{latexsym,graphicx,../iman,../extra,../ttbox,../proof,../rail,../railsetup,../isar,../pdfsetup} |
7046 | 6 |
|
7 |
\title{\includegraphics[scale=0.5]{isabelle_isar} \\[4ex] The Isabelle/Isar Reference Manual} |
|
7050 | 8 |
\author{\emph{Markus Wenzel} \\ TU M\"unchen} |
7046 | 9 |
|
7050 | 10 |
\makeindex |
11 |
||
9658 | 12 |
\newcommand{\isastyle}{\small\tt\slshape} |
13 |
\newcommand{\isa}[1]{\emph{\isastyle #1}} |
|
10208 | 14 |
\newcommand{\isamath}[1]{\emph{$#1$}} |
15 |
\newcommand{\isasymColon}{\isamath{\mathrel{::}}} |
|
16 |
\newcommand{\isasymRightarrow}{\isamath{\Rightarrow}} |
|
10639 | 17 |
\newcommand{\isasymleftharpoondown}{\isamath{\leftharpoondown}} |
18 |
\newcommand{\isasymrightharpoonup}{\isamath{\rightharpoonup}} |
|
19 |
\newcommand{\isasymrightleftharpoons}{\isamath{\rightleftharpoons}} |
|
10685 | 20 |
\newcommand{\isasymequiv}{\isamath{\equiv}} |
11100
34d58b1818f4
\<subseteq> syntax for classes/classrel/axclass/instance;
wenzelm
parents:
10858
diff
changeset
|
21 |
\newcommand{\isasymsubseteq}{\isamath{\subseteq}} |
9204 | 22 |
|
23 |
\railterm{percent,ppercent,underscore,lbrace,rbrace,atsign} |
|
7167 | 24 |
\railterm{ident,longident,symident,var,textvar,typefree,typevar,nat,string,verbatim,keyword} |
8596 | 25 |
\railterm{name,nameref,text,type,term,prop,atom} |
7134 | 26 |
|
8594 | 27 |
\railalias{ident}{\railtoken{ident}} |
28 |
\railalias{longident}{\railtoken{longident}} |
|
29 |
\railalias{symident}{\railtoken{symident}} |
|
30 |
\railalias{var}{\railtoken{var}} |
|
31 |
\railalias{textvar}{\railtoken{textvar}} |
|
32 |
\railalias{typefree}{\railtoken{typefree}} |
|
33 |
\railalias{typevar}{\railtoken{typevar}} |
|
34 |
\railalias{nat}{\railtoken{nat}} |
|
35 |
\railalias{string}{\railtoken{string}} |
|
36 |
\railalias{verbatim}{\railtoken{verbatim}} |
|
37 |
\railalias{keyword}{\railtoken{keyword}} |
|
38 |
||
7134 | 39 |
\railalias{name}{\railqtoken{name}} |
40 |
\railalias{nameref}{\railqtoken{nameref}} |
|
41 |
\railalias{text}{\railqtoken{text}} |
|
42 |
\railalias{type}{\railqtoken{type}} |
|
43 |
\railalias{term}{\railqtoken{term}} |
|
44 |
\railalias{prop}{\railqtoken{prop}} |
|
45 |
\railalias{atom}{\railqtoken{atom}} |
|
46 |
||
7895 | 47 |
\newcommand{\drv}{\mathrel{\vdash}} |
48 |
\newcommand{\edrv}{\mathop{\drv}\nolimits} |
|
7974 | 49 |
\newcommand{\Or}{\mathrel{\;|\;}} |
7895 | 50 |
|
10858 | 51 |
\renewcommand{\vec}[1]{\overline{#1}} |
7046 | 52 |
|
53 |
\setcounter{secnumdepth}{2} \setcounter{tocdepth}{2} |
|
54 |
||
55 |
\pagestyle{headings} |
|
56 |
\sloppy |
|
57 |
\binperiod %%%treat . like a binary operator |
|
58 |
||
7134 | 59 |
\renewcommand{\phi}{\varphi} |
7046 | 60 |
|
10240 | 61 |
%\includeonly{} |
7895 | 62 |
|
7046 | 63 |
|
64 |
\begin{document} |
|
65 |
||
66 |
\underscoreoff |
|
67 |
||
68 |
\maketitle |
|
69 |
||
70 |
\begin{abstract} |
|
7167 | 71 |
\emph{Intelligible semi-automated reasoning} (\emph{Isar}) is a generic |
72 |
approach to readable formal proof documents. It sets out to bridge the |
|
73 |
semantic gap between any internal notions of proof based on primitive |
|
74 |
inferences and tactics, and an appropriate level of abstraction for |
|
75 |
user-level work. The Isar formal proof language has been designed to |
|
76 |
satisfy quite contradictory requirements, being both ``declarative'' and |
|
77 |
immediately ``executable'', by virtue of the \emph{Isar/VM} interpreter. |
|
78 |
||
10160 | 79 |
The Isabelle/Isar system provides an interpreter for the Isar formal proof |
80 |
language. The input may consist either of proper document constructors, or |
|
81 |
improper auxiliary commands (for diagnostics, exploration etc.). Proof |
|
82 |
texts consisting of proper elements only admit a purely static reading, thus |
|
83 |
being intelligible later without requiring dynamic replay that is so typical |
|
84 |
for traditional proof scripts. Any of the Isabelle/Isar commands may be |
|
85 |
executed in single-steps, so basically the interpreter has a proof text |
|
86 |
debugger already built-in. |
|
7167 | 87 |
|
8509 | 88 |
Employing the Isar instantiation of \emph{Proof~General}, a generic Emacs |
89 |
interface for interactive proof assistants, we arrive at a reasonable |
|
90 |
environment for \emph{live document editing}. Thus proof texts may be |
|
8547 | 91 |
developed incrementally by issuing proof commands, including forward and |
92 |
backward tracing of partial documents; intermediate states may be inspected |
|
93 |
by diagnostic commands. |
|
7167 | 94 |
|
7335 | 95 |
The Isar subsystem is tightly integrated into the Isabelle/Pure meta-logic |
96 |
implementation. Theories, theorems, proof procedures etc.\ may be used |
|
7895 | 97 |
interchangeably between classic Isabelle proof scripts and Isabelle/Isar |
10160 | 98 |
documents. Even more, Isar provides a set of emulation commands and methods |
99 |
for simulating traditional tactic scripts within new-style theory documents. |
|
100 |
||
101 |
The Isar framework is as generic as Isabelle, able to support a wide range |
|
102 |
of object-logics. Currently, the end-user working environment is most |
|
103 |
complete for Isabelle/HOL. |
|
7046 | 104 |
\end{abstract} |
105 |
||
106 |
\pagenumbering{roman} \tableofcontents \clearfirst |
|
107 |
||
108 |
%FIXME |
|
9600 | 109 |
\nocite{Aspinall:2000:eProof} |
110 |
\nocite{Bauer-Wenzel:2000:HB} |
|
111 |
\nocite{Harrison:1996:MizarHOL} |
|
112 |
\nocite{Muzalewski:Mizar} |
|
7046 | 113 |
\nocite{Rudnicki:1992:MizarOverview} |
114 |
\nocite{Rudnicki:1992:MizarOverview} |
|
115 |
\nocite{Syme:1997:DECLARE} |
|
116 |
\nocite{Syme:1998:thesis} |
|
117 |
\nocite{Syme:1999:TPHOL} |
|
9600 | 118 |
\nocite{Trybulec:1993:MizarFeatures} |
119 |
\nocite{Wiedijk:1999:Mizar} |
|
120 |
\nocite{Wiedijk:2000:MV} |
|
7988 | 121 |
\nocite{Zammit:1999:TPHOL} |
7046 | 122 |
|
123 |
\include{intro} |
|
124 |
\include{basics} |
|
125 |
\include{syntax} |
|
126 |
\include{pure} |
|
7135 | 127 |
\include{generic} |
7046 | 128 |
\include{hol} |
129 |
||
7895 | 130 |
\appendix |
131 |
\include{refcard} |
|
9600 | 132 |
\include{conversion} |
7895 | 133 |
|
7046 | 134 |
\begingroup |
135 |
\bibliographystyle{plain} \small\raggedright\frenchspacing |
|
136 |
\bibliography{../manual} |
|
137 |
\endgroup |
|
138 |
||
8828 | 139 |
\printindex |
7046 | 140 |
|
141 |
\end{document} |