doc-src/IsarAdvanced/Codegen/codegen.tex
author haftmann
Fri, 10 Oct 2008 06:45:49 +0200
changeset 28560 625e44455f52
parent 28447 df77ed974a78
child 28564 1358b1ddd915
permissions -rw-r--r--
using tikz pictures
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}
21058
a32d357dfd70 started tutorial
haftmann
parents: 20948
diff changeset
     6
\usepackage{listings}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     7
\usepackage[refpage]{nomencl}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     8
\usepackage{../../iman,../../extra,../../isar,../../proof}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
     9
\usepackage{../../isabelle,../../isabellesym}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    10
\usepackage{style}
28560
625e44455f52 using tikz pictures
haftmann
parents: 28447
diff changeset
    11
\usepackage{tikz}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
    12
\usepackage{../../pdfsetup}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    13
28428
haftmann
parents: 28419
diff changeset
    14
\newcommand{\isaverbatim}{\renewcommand{\baselinestretch}{1}\setlength{\baselineskip}{8pt}\fontsize{8pt}{0pt}}
haftmann
parents: 28419
diff changeset
    15
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    16
\makeatletter
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    17
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    18
\isakeeptag{quoteme}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    19
\newenvironment{quoteme}{\begin{quote}\isa@parindent\parindent\parindent0pt\isa@parskip\parskip\parskip0pt}{\end{quote}}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    20
\renewcommand{\isatagquoteme}{\begin{quoteme}}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    21
\renewcommand{\endisatagquoteme}{\end{quoteme}}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    22
28428
haftmann
parents: 28419
diff changeset
    23
\isakeeptag{tt}
haftmann
parents: 28419
diff changeset
    24
\renewcommand{\isatagtt}{\begin{quoteme}\isabellestyle{tt}\isastyle}
haftmann
parents: 28419
diff changeset
    25
\renewcommand{\endisatagtt}{\end{quoteme}\isabellestyle{it}\isastyle}
haftmann
parents: 28419
diff changeset
    26
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    27
\makeatother
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    28
28428
haftmann
parents: 28419
diff changeset
    29
\newcommand{\isactrlbvec}{\emph\bgroup\begin{math}{}\overline\bgroup\mbox\bgroup\isastylescript}
haftmann
parents: 28419
diff changeset
    30
\newcommand{\isactrlevec}{\egroup\egroup\end{math}\egroup}
21322
26f64e7a67b5 added tt tag
haftmann
parents: 21222
diff changeset
    31
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    32
\newcommand{\qt}[1]{``#1''}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    33
\newcommand{\qtt}[1]{"{}{#1}"{}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    34
\newcommand{\qn}[1]{\emph{#1}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    35
\newcommand{\strong}[1]{{\bfseries #1}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    36
\newcommand{\fixme}[1][!]{\strong{FIXME: #1}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    37
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    38
\hyphenation{Isabelle}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    39
\hyphenation{Isar}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    40
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    41
\isadroptag{theory}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    42
\title{\includegraphics[scale=0.5]{isabelle_isar}
21222
6dfdb69e83ef adjusted title
haftmann
parents: 21190
diff changeset
    43
  \\[4ex] Code generation from Isabelle/HOL theories}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    44
\author{\emph{Florian Haftmann}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    45
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    46
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    47
\begin{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    48
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    49
\maketitle
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    50
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    51
\begin{abstract}
28447
haftmann
parents: 28428
diff changeset
    52
  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
    53
  for generating executable code in functional programming languages from logical
b52f9205a02d New outline for codegen tutorial -- draft
haftmann
parents: 26911
diff changeset
    54
  specifications in Isabelle/HOL.
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    55
\end{abstract}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    56
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    57
\thispagestyle{empty}\clearpage
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    58
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    59
\pagenumbering{roman}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    60
\clearfirst
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    61
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    62
\input{Thy/document/Introduction.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    63
\input{Thy/document/Program.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    64
\input{Thy/document/Adaption.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    65
\input{Thy/document/Further.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    66
\input{Thy/document/ML.tex}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    67
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    68
\begingroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    69
%\tocentry{\bibname}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    70
\bibliographystyle{plain} \small\raggedright\frenchspacing
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    71
\bibliography{../../manual}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    72
\endgroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    73
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    74
\end{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    75
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    76
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    77
%%% Local Variables: 
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    78
%%% mode: latex
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    79
%%% TeX-master: t
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    80
%%% End: