| author | blanchet | 
| Fri, 08 Sep 2017 00:02:21 +0200 | |
| changeset 66622 | 0916eb2dbaca | 
| parent 61409 | 9d68db31196c | 
| child 72319 | 76bb6dd505c0 | 
| permissions | -rw-r--r-- | 
| 18537 | 1 | \documentclass[12pt,a4paper,fleqn]{report}
 | 
| 60185 
cc71f01f9fde
prefer lmodern, which produces scalable T1 fonts even with Debian-ized TeXLive;
 wenzelm parents: 
56420diff
changeset | 2 | \usepackage{lmodern}
 | 
| 55365 | 3 | \usepackage[T1]{fontenc}
 | 
| 18537 | 4 | \usepackage{latexsym,graphicx}
 | 
| 5 | \usepackage[refpage]{nomencl}
 | |
| 48938 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 6 | \usepackage{iman,extra,isar,proof}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 7 | \usepackage[nohyphen,strings]{underscore}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 8 | \usepackage{isabelle}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 9 | \usepackage{isabellesym}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 10 | \usepackage{railsetup}
 | 
| 52412 | 11 | \usepackage{supertabular}
 | 
| 18537 | 12 | \usepackage{style}
 | 
| 48938 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 13 | \usepackage{pdfsetup}
 | 
| 18537 | 14 | |
| 15 | ||
| 16 | \hyphenation{Isabelle}
 | |
| 17 | \hyphenation{Isar}
 | |
| 18 | ||
| 19 | \isadroptag{theory}
 | |
| 20 | \title{\includegraphics[scale=0.5]{isabelle_isar}
 | |
| 21 | \\[4ex] The Isabelle/Isar Implementation} | |
| 28780 | 22 | \author{\emph{Makarius Wenzel}  \\[3ex]
 | 
| 23 | With Contributions by | |
| 52412 | 24 | Stefan Berghofer, \\ | 
| 28780 | 25 | Florian Haftmann | 
| 26 | and Larry Paulson | |
| 27 | } | |
| 18537 | 28 | |
| 29 | \makeindex | |
| 30 | ||
| 31 | ||
| 32 | \begin{document}
 | |
| 33 | ||
| 35031 | 34 | \maketitle | 
| 18537 | 35 | |
| 36 | \begin{abstract}
 | |
| 37 | We describe the key concepts underlying the Isabelle/Isar | |
| 38 | implementation, including ML references for the most important | |
| 20451 | 39 | functions. The aim is to give some insight into the overall system | 
| 20488 | 40 | architecture, and provide clues on implementing applications within | 
| 41 | this framework. | |
| 18537 | 42 | \end{abstract}
 | 
| 43 | ||
| 19189 | 44 | \vspace*{2.5cm}
 | 
| 45 | \begin{quote}
 | |
| 35031 | 46 | |
| 19189 | 47 |   {\small\em Isabelle was not designed; it evolved.  Not everyone
 | 
| 48 | likes this idea. Specification experts rightly abhor | |
| 49 | trial-and-error programming. They suggest that no one should | |
| 20024 | 50 | write a program without first writing a complete formal | 
| 19189 | 51 | specification. But university departments are not software houses. | 
| 52 | Programs like Isabelle are not products: when they have served | |
| 53 | their purpose, they are discarded.} | |
| 35031 | 54 | |
| 19189 | 55 | Lawrence C. Paulson, ``Isabelle: The Next 700 Theorem Provers'' | 
| 56 | ||
| 57 |   \vspace*{1cm}
 | |
| 35031 | 58 | |
| 19189 | 59 |   {\small\em As I did 20 years ago, I still fervently believe that the
 | 
| 60 | only way to make software secure, reliable, and fast is to make it | |
| 20064 | 61 | small. Fight features.} | 
| 35031 | 62 | |
| 19189 | 63 | Andrew S. Tanenbaum | 
| 64 | ||
| 35031 | 65 |   \vspace*{1cm}
 | 
| 66 | ||
| 67 |   {\small\em One thing that UNIX does not need is more features. It is
 | |
| 68 | successful in part because it has a small number of good ideas | |
| 69 | that work well together. Merely adding features does not make it | |
| 70 | easier for users to do things --- it just makes the manual | |
| 71 | thicker. The right solution in the right place is always more | |
| 72 | effective than haphazard hacking.} | |
| 73 | ||
| 74 | Rob Pike and Brian W. Kernighan | |
| 75 | ||
| 51660 | 76 |   \vspace*{1cm}
 | 
| 77 | ||
| 78 |   {\small\em If you look at software today, through the lens of the
 | |
| 79 | history of engineering, it's certainly engineering of a sort--but | |
| 80 | it's the kind of engineering that people without the concept of | |
| 81 | the arch did. Most software today is very much like an Egyptian | |
| 82 | pyramid with millions of bricks piled on top of each other, with | |
| 83 | no structural integrity, but just done by brute force and | |
| 84 | thousands of slaves.} | |
| 85 | ||
| 86 | Alan Kay | |
| 87 | ||
| 19189 | 88 | \end{quote}
 | 
| 89 | ||
| 90 | \thispagestyle{empty}\clearpage
 | |
| 91 | ||
| 20514 | 92 | \pagenumbering{roman}
 | 
| 93 | \tableofcontents | |
| 94 | \listoffigures | |
| 95 | \clearfirst | |
| 18537 | 96 | |
| 39822 | 97 | \setcounter{chapter}{-1}
 | 
| 98 | ||
| 48938 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 99 | \input{ML.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 100 | \input{Prelim.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 101 | \input{Logic.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 102 | \input{Syntax.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 103 | \input{Tactic.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 104 | \input{Eq.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 105 | \input{Proof.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 106 | \input{Isar.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 107 | \input{Local_Theory.tex}
 | 
| 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 108 | \input{Integration.tex}
 | 
| 18537 | 109 | |
| 110 | \begingroup | |
| 111 | \tocentry{\bibname}
 | |
| 30116 | 112 | \bibliographystyle{abbrv} \small\raggedright\frenchspacing
 | 
| 48938 
d468d72a458f
more standard document preparation within session context;
 wenzelm parents: 
46295diff
changeset | 113 | \bibliography{manual}
 | 
| 18537 | 114 | \endgroup | 
| 115 | ||
| 116 | \tocentry{\indexname}
 | |
| 117 | \printindex | |
| 118 | ||
| 119 | \end{document}
 | |
| 120 | ||
| 121 | ||
| 35031 | 122 | %%% Local Variables: | 
| 18537 | 123 | %%% mode: latex | 
| 124 | %%% TeX-master: t | |
| 35031 | 125 | %%% End: |