src/Doc/Corec/document/root.tex
author blanchet
Tue, 29 Mar 2016 17:42:43 +0200
changeset 62742 bfb5a70e4319
parent 62739 628c97d39627
child 62747 f65ef4723aca
permissions -rw-r--r--
more 'corec' documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62739
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     1
\documentclass[12pt,a4paper]{article} % fleqn
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     2
\usepackage{lmodern}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     3
\usepackage[T1]{fontenc}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     4
\usepackage{amsmath}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     5
\usepackage{cite}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     6
\usepackage{enumitem}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     7
\usepackage{footmisc}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     8
\usepackage{latexsym}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
     9
\usepackage{graphicx}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    10
\usepackage{iman}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    11
\usepackage{extra}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    12
\usepackage{isar}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    13
\usepackage{isabelle}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    14
\usepackage{isabellesym}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    15
\usepackage{style}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    16
\usepackage{pdfsetup}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    17
\usepackage{railsetup}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    18
\usepackage{framed}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    19
\usepackage{regexpatch}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    20
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    21
\makeatletter
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    22
\xpatchcmd{\chaptermark}{\MakeUppercase}{}{}{}%
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    23
\xpatchcmd{\sectionmark}{\MakeUppercase}{}{}{}%
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    24
\xpatchcmd*{\tableofcontents}{\MakeUppercase}{}{}{}%
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    25
\makeatother
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    26
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    27
\setcounter{secnumdepth}{3}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    28
\setcounter{tocdepth}{3}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    29
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    30
\renewcommand\_{\hbox{\textunderscore\kern-.05ex}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    31
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    32
\newbox\boxA
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    33
\setbox\boxA=\hbox{\ }
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    34
\parindent=4\wd\boxA
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    35
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    36
\newcommand\blankline{\vskip-.25\baselineskip}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    37
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    38
\newenvironment{indentblock}{\list{}{\setlength{\leftmargin}{\parindent}}\item[]}{\endlist}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    39
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    40
\newcommand{\keyw}[1]{\textbf{#1}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    41
\newcommand{\synt}[1]{\textit{#1}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    42
\newcommand{\hthm}[1]{\textbf{\textit{#1}}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    43
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    44
%\renewcommand{\isactrlsub}[1]{\/$\sb{\mathrm{#1}}$}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    45
\renewcommand\isactrlsub[1]{\/$\sb{#1}$}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    46
\renewcommand\isadigit[1]{\/\ensuremath{\mathrm{#1}}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    47
\renewcommand\isacharprime{\isamath{{'}\mskip-2mu}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    48
\renewcommand\isacharunderscore{\mbox{\_}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    49
\renewcommand\isacharunderscorekeyword{\mbox{\_}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    50
\renewcommand\isachardoublequote{\mbox{\upshape{``}}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    51
\renewcommand\isachardoublequoteopen{\mbox{\upshape{``}\kern.1ex}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    52
\renewcommand\isachardoublequoteclose{\/\kern.15ex\mbox{\upshape{''}}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    53
\renewcommand\isacharverbatimopen{\isacharbraceleft\isacharasterisk}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    54
\renewcommand\isacharverbatimclose{\isacharasterisk\isacharbraceright}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    55
\renewcommand{\isasyminverse}{\isamath{{}^{-}}}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    56
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    57
\hyphenation{isa-belle}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    58
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    59
\isadroptag{theory}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    60
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    61
\title{%\includegraphics[scale=0.5]{isabelle_hol} \\[4ex]
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    62
Defining Nonprimitively (Co)recursive Functions in Isabelle/HOL}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    63
\author{Jasmin Christian Blanchette, Aymeric Bouzy, \\
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    64
Andreas Lochbihler, Andrei Popescu, and \\
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    65
Dmitriy Traytel}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    66
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    67
\urlstyle{tt}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    68
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    69
\begin{document}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    70
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    71
\maketitle
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    72
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    73
\begin{sloppy}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    74
\begin{abstract}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    75
\noindent
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    76
This tutorial describes the definitional package for nonprimitively corecursive functions
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    77
in Isabelle/HOL. The following commands are provided:
62742
bfb5a70e4319 more 'corec' documentation
blanchet
parents: 62739
diff changeset
    78
\keyw{corec}, \keyw{corecursive}, \keyw{friend\_of\_corec}, and \keyw{coinduction\_\allowbreak upto}.
bfb5a70e4319 more 'corec' documentation
blanchet
parents: 62739
diff changeset
    79
They supplement \keyw{codatatype}, \keyw{primcorec}, and \keyw{primcorecursive}, which
62739
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    80
define codatatypes and primitively corecursive functions.
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    81
\end{abstract}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    82
\end{sloppy}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    83
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    84
\tableofcontents
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    85
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    86
\input{Corec.tex}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    87
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    88
\let\em=\sl
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    89
\bibliography{manual}{}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    90
\bibliographystyle{abbrv}
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    91
628c97d39627 added sketchy 'corec' documentation
blanchet
parents:
diff changeset
    92
\end{document}