doc-src/IsarAdvanced/Codegen/codegen.tex
author haftmann
Wed, 15 Oct 2008 16:25:31 +0200
changeset 28601 b72589374396
parent 28569 8789a0abccaa
child 28635 cc53d2ab0170
permissions -rw-r--r--
figure for adaption
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     1
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     2
%% $Id$
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     3
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     4
\documentclass[12pt,a4paper,fleqn]{report}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     5
\usepackage{latexsym,graphicx}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     6
\usepackage[refpage]{nomencl}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     7
\usepackage{../../iman,../../extra,../../isar,../../proof}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
     8
\usepackage{../../isabelle,../../isabellesym}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     9
\usepackage{style}
28560
625e44455f52 using tikz pictures
haftmann
parents: 28447
diff changeset
    10
\usepackage{tikz}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
    11
\usepackage{../../pdfsetup}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    12
28564
haftmann
parents: 28560
diff changeset
    13
%% setup
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    14
28569
haftmann
parents: 28564
diff changeset
    15
% hyphenation
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    16
\hyphenation{Isabelle}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    17
\hyphenation{Isar}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    18
28564
haftmann
parents: 28560
diff changeset
    19
% logical markup
haftmann
parents: 28560
diff changeset
    20
\newcommand{\strong}[1]{{\bfseries {#1}}}
haftmann
parents: 28560
diff changeset
    21
\newcommand{\qn}[1]{\emph{#1}}
haftmann
parents: 28560
diff changeset
    22
haftmann
parents: 28560
diff changeset
    23
% typographic conventions
haftmann
parents: 28560
diff changeset
    24
\newcommand{\qt}[1]{``{#1}''}
haftmann
parents: 28560
diff changeset
    25
haftmann
parents: 28560
diff changeset
    26
% verbatim text
haftmann
parents: 28560
diff changeset
    27
\newcommand{\isaverbatim}{\renewcommand{\baselinestretch}{1}\setlength{\baselineskip}{8pt}\fontsize{8pt}{0pt}}
haftmann
parents: 28560
diff changeset
    28
haftmann
parents: 28560
diff changeset
    29
% invisibility
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    30
\isadroptag{theory}
28564
haftmann
parents: 28560
diff changeset
    31
haftmann
parents: 28560
diff changeset
    32
% quoted segments
haftmann
parents: 28560
diff changeset
    33
\makeatletter
haftmann
parents: 28560
diff changeset
    34
\isakeeptag{quote}
haftmann
parents: 28560
diff changeset
    35
\newenvironment{quotesegment}{\begin{quote}\isa@parindent\parindent\parindent0pt\isa@parskip\parskip\parskip0pt}{\end{quote}}
haftmann
parents: 28560
diff changeset
    36
\renewcommand{\isatagquote}{\begin{quotesegment}}
haftmann
parents: 28560
diff changeset
    37
\renewcommand{\endisatagquote}{\end{quotesegment}}
haftmann
parents: 28560
diff changeset
    38
\makeatother
haftmann
parents: 28560
diff changeset
    39
haftmann
parents: 28560
diff changeset
    40
\isakeeptag{quotett}
haftmann
parents: 28560
diff changeset
    41
\renewcommand{\isatagquotett}{\begin{quotesegment}\isabellestyle{tt}\isastyle}
haftmann
parents: 28560
diff changeset
    42
\renewcommand{\endisatagquotett}{\end{quotesegment}\isabellestyle{it}\isastyle}
haftmann
parents: 28560
diff changeset
    43
28601
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    44
% hack
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    45
\newcommand{\isasymSML}{SML}
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    46
28564
haftmann
parents: 28560
diff changeset
    47
haftmann
parents: 28560
diff changeset
    48
%% contents
haftmann
parents: 28560
diff changeset
    49
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    50
\title{\includegraphics[scale=0.5]{isabelle_isar}
21222
6dfdb69e83ef adjusted title
haftmann
parents: 21190
diff changeset
    51
  \\[4ex] Code generation from Isabelle/HOL theories}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    52
\author{\emph{Florian Haftmann}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    53
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    54
\begin{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    55
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    56
\maketitle
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    57
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    58
\begin{abstract}
28447
haftmann
parents: 28428
diff changeset
    59
  This tutorial gives an introduction to a generic code generator framework in Isabelle
28213
b52f9205a02d New outline for codegen tutorial -- draft
haftmann
parents: 26911
diff changeset
    60
  for generating executable code in functional programming languages from logical
b52f9205a02d New outline for codegen tutorial -- draft
haftmann
parents: 26911
diff changeset
    61
  specifications in Isabelle/HOL.
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    62
\end{abstract}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    63
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    64
\thispagestyle{empty}\clearpage
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    65
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    66
\pagenumbering{roman}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    67
\clearfirst
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    68
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    69
\input{Thy/document/Introduction.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    70
\input{Thy/document/Program.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    71
\input{Thy/document/Adaption.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    72
\input{Thy/document/Further.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    73
\input{Thy/document/ML.tex}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    74
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    75
\begingroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    76
%\tocentry{\bibname}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    77
\bibliographystyle{plain} \small\raggedright\frenchspacing
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    78
\bibliography{../../manual}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    79
\endgroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    80
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    81
\end{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    82
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    83
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    84
%%% Local Variables: 
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    85
%%% mode: latex
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    86
%%% TeX-master: t
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    87
%%% End: