doc-src/IsarRef/isar-ref.tex
author wenzelm
Thu, 29 Jun 2000 22:39:57 +0200
changeset 9204 e865dda0313e
parent 8896 c80aba8c1d5e
child 9600 a585662e6490
permissions -rw-r--r--
tuned rail setup;
some isabelle symbols;
     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 \newcommand{\isabellestyle}{\small\tt\slshape}
    13 \newcommand{\isa}[1]{\emph{\isabellestyle #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 current version of Isabelle offers Isar as an alternative proof language
    73   interface layer.  The Isabelle/Isar system provides an interpreter for the
    74   Isar formal proof language.  The input may consist either of proper document
    75   constructors, or improper auxiliary commands (for diagnostics, exploration
    76   etc.).  Proof texts consisting of proper elements only, admit a purely
    77   static reading, thus being intelligible later without requiring dynamic
    78   replay that is so typical for traditional proof scripts.  Any of the
    79   Isabelle/Isar commands may be executed in single-steps, so basically the
    80   interpreter has a proof text debugger already built-in.
    81   
    82   Employing the Isar instantiation of \emph{Proof~General}, a generic Emacs
    83   interface for interactive proof assistants, we arrive at a reasonable
    84   environment for \emph{live document editing}.  Thus proof texts may be
    85   developed incrementally by issuing proof commands, including forward and
    86   backward tracing of partial documents; intermediate states may be inspected
    87   by diagnostic commands.
    88   
    89   The Isar subsystem is tightly integrated into the Isabelle/Pure meta-logic
    90   implementation.  Theories, theorems, proof procedures etc.\ may be used
    91   interchangeably between classic Isabelle proof scripts and Isabelle/Isar
    92   documents.  Isar is as generic as Isabelle, able to support a wide range of
    93   object-logics.  Currently, the end-user working environment is most complete
    94   for Isabelle/HOL.
    95 \end{abstract}
    96 
    97 \pagenumbering{roman} \tableofcontents \clearfirst
    98 
    99 %FIXME
   100 % - HahnBanach paper
   101 % - Freek Widijk's stuff
   102 
   103 %FIXME
   104 \nocite{Rudnicki:1992:MizarOverview}
   105 \nocite{Harrison:1996:MizarHOL}
   106 \nocite{Rudnicki:1992:MizarOverview}
   107 \nocite{Trybulec:1993:MizarFeatures}
   108 \nocite{Syme:1997:DECLARE}
   109 \nocite{Syme:1998:thesis}
   110 \nocite{Syme:1999:TPHOL}
   111 \nocite{Zammit:1999:TPHOL}
   112 
   113 \include{intro}
   114 \include{basics}
   115 \include{syntax}
   116 \include{pure}
   117 \include{generic}
   118 \include{hol}
   119 
   120 \appendix
   121 \include{refcard}
   122 
   123 \begingroup
   124   \bibliographystyle{plain} \small\raggedright\frenchspacing
   125   \bibliography{../manual}
   126 \endgroup
   127 
   128 \printindex
   129 
   130 \end{document}