| author | wenzelm | 
| Tue, 13 Feb 2001 16:48:36 +0100 | |
| changeset 11110 | 306beb99e192 | 
| parent 11100 | 34d58b1818f4 | 
| 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: 
10858diff
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}
 |