52794
|
1 |
\documentclass[12pt,a4paper]{article} % fleqn
|
55290
|
2 |
\usepackage[T1]{fontenc}
|
55355
|
3 |
\usepackage{amsmath}
|
52805
|
4 |
\usepackage{cite}
|
|
5 |
\usepackage{enumitem}
|
53647
|
6 |
\usepackage{footmisc}
|
52792
|
7 |
\usepackage{latexsym}
|
|
8 |
\usepackage{graphicx}
|
|
9 |
\usepackage{iman}
|
|
10 |
\usepackage{extra}
|
|
11 |
\usepackage{isar}
|
|
12 |
\usepackage{isabelle}
|
|
13 |
\usepackage{isabellesym}
|
|
14 |
\usepackage{style}
|
|
15 |
\usepackage{pdfsetup}
|
52822
|
16 |
\usepackage{railsetup}
|
|
17 |
\usepackage{framed}
|
57542
|
18 |
\usepackage{regexpatch}
|
|
19 |
|
|
20 |
\makeatletter
|
|
21 |
\xpatchcmd{\chaptermark}{\MakeUppercase}{}{}{}%
|
|
22 |
\xpatchcmd{\sectionmark}{\MakeUppercase}{}{}{}%
|
|
23 |
\xpatchcmd*{\tableofcontents}{\MakeUppercase}{}{}{}%
|
|
24 |
\makeatother
|
52792
|
25 |
|
53552
|
26 |
\setcounter{secnumdepth}{3}
|
|
27 |
\setcounter{tocdepth}{3}
|
|
28 |
|
55290
|
29 |
\renewcommand\_{\hbox{\textunderscore\kern-.05ex}}
|
|
30 |
|
52805
|
31 |
\newbox\boxA
|
|
32 |
\setbox\boxA=\hbox{\ }
|
|
33 |
\parindent=4\wd\boxA
|
|
34 |
|
53621
|
35 |
\newcommand\blankline{\vskip-.25\baselineskip}
|
53552
|
36 |
|
53621
|
37 |
\newenvironment{indentblock}{\list{}{\setlength{\leftmargin}{\parindent}}\item[]}{\endlist}
|
53552
|
38 |
|
53617
|
39 |
\newcommand{\keyw}[1]{\textbf{#1}}
|
53534
|
40 |
\newcommand{\synt}[1]{\textit{#1}}
|
53544
|
41 |
\newcommand{\hthm}[1]{\textbf{\textit{#1}}}
|
52792
|
42 |
|
53491
|
43 |
%\renewcommand{\isactrlsub}[1]{\/$\sb{\mathrm{#1}}$}
|
55355
|
44 |
\renewcommand\isactrlsub[1]{\/$\sb{#1}$}
|
|
45 |
\renewcommand\isadigit[1]{\/\ensuremath{\mathrm{#1}}}
|
|
46 |
\renewcommand\isacharprime{\isamath{{'}\mskip-2mu}}
|
|
47 |
\renewcommand\isacharunderscore{\mbox{\_}}
|
|
48 |
\renewcommand\isacharunderscorekeyword{\mbox{\_}}
|
|
49 |
\renewcommand\isachardoublequote{\mbox{\upshape{``}}}
|
|
50 |
\renewcommand\isachardoublequoteopen{\mbox{\upshape{``}\kern.1ex}}
|
|
51 |
\renewcommand\isachardoublequoteclose{\/\kern.15ex\mbox{\upshape{''}}}
|
|
52 |
\renewcommand\isacharverbatimopen{\isacharbraceleft\isacharasterisk}
|
|
53 |
\renewcommand\isacharverbatimclose{\isacharasterisk\isacharbraceright}
|
52794
|
54 |
|
52792
|
55 |
\hyphenation{isa-belle}
|
|
56 |
|
|
57 |
\isadroptag{theory}
|
|
58 |
|
|
59 |
\title{%\includegraphics[scale=0.5]{isabelle_hol} \\[4ex]
|
|
60 |
Defining (Co)datatypes in Isabelle/HOL}
|
|
61 |
\author{\hbox{} \\
|
53619
|
62 |
Jasmin Christian Blanchette,
|
57079
|
63 |
Martin Desharnais, \\
|
|
64 |
Lorenz Panny,
|
53619
|
65 |
Andrei Popescu, and
|
52805
|
66 |
Dmitriy Traytel \\
|
55355
|
67 |
{\normalsize Fakult\"at f\"ur Informatik, Technische Universit\"at M\"unchen} \\
|
52792
|
68 |
\hbox{}}
|
55290
|
69 |
|
|
70 |
\urlstyle{tt}
|
|
71 |
|
52792
|
72 |
\begin{document}
|
|
73 |
|
|
74 |
\maketitle
|
|
75 |
|
|
76 |
\begin{abstract}
|
|
77 |
\noindent
|
54073
|
78 |
This tutorial describes the new package for defining datatypes and codatatypes
|
57542
|
79 |
in Isabelle/HOL. The package provides four main commands: \keyw{datatype_new},
|
|
80 |
\keyw{codatatype}, \keyw{primrec}, and \keyw{primcorec}. The first command is
|
|
81 |
expected to eventually replace the old \keyw{datatype} command.
|
52792
|
82 |
\end{abstract}
|
|
83 |
|
52794
|
84 |
\tableofcontents
|
|
85 |
|
52792
|
86 |
\input{Datatypes.tex}
|
|
87 |
|
|
88 |
\let\em=\sl
|
|
89 |
\bibliography{manual}{}
|
|
90 |
\bibliographystyle{abbrv}
|
|
91 |
|
|
92 |
\end{document}
|