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