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