src/Doc/Datatypes/document/root.tex
author wenzelm
Sat, 17 Aug 2013 19:13:28 +0200
changeset 53052 a0db255af8c5
parent 53028 a1e64c804c35
child 53491 2479b39d9d09
permissions -rw-r--r--
sledgehammer sendback always uses Markup.padding_command: sensible default for most practical applications -- old-style in-line replacement is superseded by auto mode or panel; back to Normal mode: with output_result it is sufficient to determine TTY vs. PIDE operation;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52794
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
     1
\documentclass[12pt,a4paper]{article} % fleqn
52805
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
     2
\usepackage{cite}
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
     3
\usepackage{enumitem}
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     4
\usepackage{latexsym}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     5
\usepackage{graphicx}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     6
\usepackage{iman}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     7
\usepackage{extra}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     8
\usepackage{isar}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
     9
\usepackage{isabelle}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    10
\usepackage{isabellesym}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    11
\usepackage{style}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    12
\usepackage{pdfsetup}
52822
ae938ac9a721 more (co)datatype docs
blanchet
parents: 52806
diff changeset
    13
\usepackage{railsetup}
ae938ac9a721 more (co)datatype docs
blanchet
parents: 52806
diff changeset
    14
\usepackage{framed}
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    15
52805
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    16
\newbox\boxA
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    17
\setbox\boxA=\hbox{\ }
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    18
\parindent=4\wd\boxA
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    19
52824
b7a83845bc93 more (co)datatype documentation
blanchet
parents: 52822
diff changeset
    20
\newcommand{\keyw}[1]{\isacommand{#1}}
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    21
53028
a1e64c804c35 more (co)datatype documentation
blanchet
parents: 52841
diff changeset
    22
\renewcommand{\isactrlsub}[1]{\/$\sb{\mathrm{#1}}$}
52822
ae938ac9a721 more (co)datatype docs
blanchet
parents: 52806
diff changeset
    23
\renewcommand{\isacharprime}{\isamath{{'}\mskip-2mu}}
52794
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    24
\renewcommand{\isacharunderscore}{\mbox{\_}}
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    25
\renewcommand{\isacharunderscorekeyword}{\mbox{\_}}
52805
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    26
\renewcommand{\isachardoublequote}{\mbox{\upshape{``}}}
53028
a1e64c804c35 more (co)datatype documentation
blanchet
parents: 52841
diff changeset
    27
\renewcommand{\isachardoublequoteopen}{\mbox{\upshape{``}\kern.1ex}}
a1e64c804c35 more (co)datatype documentation
blanchet
parents: 52841
diff changeset
    28
\renewcommand{\isachardoublequoteclose}{\/\kern.15ex\mbox{\upshape{''}}}
52794
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    29
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    30
\hyphenation{isa-belle}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    31
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    32
\isadroptag{theory}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    33
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    34
\title{%\includegraphics[scale=0.5]{isabelle_hol} \\[4ex]
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    35
Defining (Co)datatypes in Isabelle/HOL}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    36
\author{\hbox{} \\
52805
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    37
Jasmin Christian Blanchette \\
53028
a1e64c804c35 more (co)datatype documentation
blanchet
parents: 52841
diff changeset
    38
Lorenz Panny \\
52805
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    39
Andrei Popescu \\
7f2f42046361 more (co)datatype documentation
blanchet
parents: 52794
diff changeset
    40
Dmitriy Traytel \\
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    41
{\normalsize Institut f\"ur Informatik, Technische Universit\"at M\"unchen} \\
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    42
\hbox{}}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    43
\begin{document}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    44
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    45
\maketitle
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    46
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    47
\begin{abstract}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    48
\noindent
52794
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    49
This tutorial describes how to use the new package for defining datatypes and
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    50
codatatypes in Isabelle/HOL. The package provides four main user-level commands:
52824
b7a83845bc93 more (co)datatype documentation
blanchet
parents: 52822
diff changeset
    51
\keyw{datatype\_new}, \keyw{codatatype}, \keyw{primrec\_new}, and \keyw{primcorec}.
b7a83845bc93 more (co)datatype documentation
blanchet
parents: 52822
diff changeset
    52
The commands suffixed by \keyw{\_new} are intended to subsume, and eventually
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    53
replace, the corresponding commands from the old datatype package.
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    54
\end{abstract}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    55
52794
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    56
\tableofcontents
aae782070611 more (co)datatype documentation
blanchet
parents: 52792
diff changeset
    57
52792
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    58
\input{Datatypes.tex}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    59
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    60
\let\em=\sl
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    61
\bibliography{manual}{}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    62
\bibliographystyle{abbrv}
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    63
3e651be14fcd sketched documentation for new (co)datatype package
blanchet
parents:
diff changeset
    64
\end{document}