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