4 \documentclass[12pt,a4paper,fleqn]{report}
5 \usepackage{latexsym,graphicx}
6 \usepackage[refpage]{nomencl}
7 \usepackage{../iman,../extra,../isar,../proof}
8 \usepackage{Thy/document/isabelle,Thy/document/isabellesym}
10 \usepackage{../pdfsetup}
13 \hyphenation{Isabelle}
17 \title{\includegraphics[scale=0.5]{isabelle_isar}
18 \\[4ex] The Isabelle/Isar Implementation}
19 \author{\emph{Makarius Wenzel}}
30 We describe the key concepts underlying the Isabelle/Isar
31 implementation, including ML references for the most important
32 elements. The aim is to give some insight into the overall system
33 architecture, and provide clues on implementing user extensions.
39 {\small\em Isabelle was not designed; it evolved. Not everyone
40 likes this idea. Specification experts rightly abhor
41 trial-and-error programming. They suggest that no one should
42 write a program without first writing a complete formal
43 specification. But university departments are not software houses.
44 Programs like Isabelle are not products: when they have served
45 their purpose, they are discarded.}
47 Lawrence C. Paulson, ``Isabelle: The Next 700 Theorem Provers''
51 {\small\em As I did 20 years ago, I still fervently believe that the
52 only way to make software secure, reliable, and fast is to make it
53 small. Fight Features.}
59 \thispagestyle{empty}\clearpage
61 \pagenumbering{roman} \tableofcontents \clearfirst
64 \input{Thy/document/prelim.tex}
65 \input{Thy/document/logic.tex}
66 \input{Thy/document/tactic.tex}
67 \input{Thy/document/proof.tex}
68 \input{Thy/document/locale.tex}
69 \input{Thy/document/integration.tex}
72 \input{Thy/document/ML.tex}
76 \bibliographystyle{plain} \small\raggedright\frenchspacing
77 \bibliography{../manual}
80 \tocentry{\glossaryname}