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