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