doc-src/IsarAdvanced/Classes/classes.tex
author wenzelm
Tue, 14 Oct 2008 15:16:11 +0200
changeset 28586 d238b83ba3fc
parent 28565 519b17118926
child 28714 1992553cccfe
permissions -rw-r--r--
renamed kill_all to kill, in conformance with atp_kill command; simplified/unified treatment of preferences; check_thread_manager: CRITICAL due to global ref; goal addressing via Thm.cprem_of; reduced NJ basis library stuff to bare minimum;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
     1
75b56e51fade initial draft
haftmann
parents:
diff changeset
     2
%% $Id$
75b56e51fade initial draft
haftmann
parents:
diff changeset
     3
75b56e51fade initial draft
haftmann
parents:
diff changeset
     4
\documentclass[12pt,a4paper,fleqn]{report}
75b56e51fade initial draft
haftmann
parents:
diff changeset
     5
\usepackage{latexsym,graphicx}
75b56e51fade initial draft
haftmann
parents:
diff changeset
     6
\usepackage[refpage]{nomencl}
75b56e51fade 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}
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
     9
\usepackage{style}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
    10
\usepackage{../../pdfsetup}
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    11
75b56e51fade initial draft
haftmann
parents:
diff changeset
    12
28565
haftmann
parents: 28540
diff changeset
    13
%% setup
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    14
28565
haftmann
parents: 28540
diff changeset
    15
% hyphenation
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    16
\hyphenation{Isabelle}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    17
\hyphenation{Isar}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    18
28565
haftmann
parents: 28540
diff changeset
    19
% logical markup
haftmann
parents: 28540
diff changeset
    20
\newcommand{\strong}[1]{{\bfseries {#1}}}
haftmann
parents: 28540
diff changeset
    21
\newcommand{\qn}[1]{\emph{#1}}
haftmann
parents: 28540
diff changeset
    22
haftmann
parents: 28540
diff changeset
    23
% typographic conventions
haftmann
parents: 28540
diff changeset
    24
\newcommand{\qt}[1]{``{#1}''}
haftmann
parents: 28540
diff changeset
    25
haftmann
parents: 28540
diff changeset
    26
% verbatim text
haftmann
parents: 28540
diff changeset
    27
\newcommand{\isaverbatim}{\renewcommand{\baselinestretch}{1}\setlength{\baselineskip}{8pt}\fontsize{8pt}{0pt}}
haftmann
parents: 28540
diff changeset
    28
haftmann
parents: 28540
diff changeset
    29
% invisibility
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    30
\isadroptag{theory}
28565
haftmann
parents: 28540
diff changeset
    31
haftmann
parents: 28540
diff changeset
    32
% quoted segments
haftmann
parents: 28540
diff changeset
    33
\makeatletter
haftmann
parents: 28540
diff changeset
    34
\isakeeptag{quote}
haftmann
parents: 28540
diff changeset
    35
\newenvironment{quotesegment}{\begin{quote}\isa@parindent\parindent\parindent0pt\isa@parskip\parskip\parskip0pt}{\end{quote}}
haftmann
parents: 28540
diff changeset
    36
\renewcommand{\isatagquote}{\begin{quotesegment}}
haftmann
parents: 28540
diff changeset
    37
\renewcommand{\endisatagquote}{\end{quotesegment}}
haftmann
parents: 28540
diff changeset
    38
\makeatother
haftmann
parents: 28540
diff changeset
    39
haftmann
parents: 28540
diff changeset
    40
%\renewcommand{\isasymlongleftrightarrow}{\isamath{\leftrightarrow}}
haftmann
parents: 28540
diff changeset
    41
%\renewcommand{\isasymdiv}{\isamath{{}^{-1}}}
haftmann
parents: 28540
diff changeset
    42
%\renewcommand{\isasymotimes}{\isamath{\circ}}
haftmann
parents: 28540
diff changeset
    43
haftmann
parents: 28540
diff changeset
    44
haftmann
parents: 28540
diff changeset
    45
%% content
haftmann
parents: 28540
diff changeset
    46
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    47
\title{\includegraphics[scale=0.5]{isabelle_isar}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    48
  \\[4ex] Haskell-style type classes with Isabelle/Isar}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    49
\author{\emph{Florian Haftmann}}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    50
75b56e51fade initial draft
haftmann
parents:
diff changeset
    51
\begin{document}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    52
75b56e51fade initial draft
haftmann
parents:
diff changeset
    53
\maketitle
75b56e51fade initial draft
haftmann
parents:
diff changeset
    54
75b56e51fade initial draft
haftmann
parents:
diff changeset
    55
\begin{abstract}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    56
  This tutorial introduces the look-and-feel of Isar type classes
75b56e51fade initial draft
haftmann
parents:
diff changeset
    57
  to the end-user; Isar type classes are a convenient mechanism
75b56e51fade initial draft
haftmann
parents:
diff changeset
    58
  for organizing specifications, overcoming some drawbacks
75b56e51fade initial draft
haftmann
parents:
diff changeset
    59
  of raw axiomatic type classes. Essentially, they combine
75b56e51fade initial draft
haftmann
parents:
diff changeset
    60
  an operational aspect (in the manner of Haskell) with
75b56e51fade initial draft
haftmann
parents:
diff changeset
    61
  a logical aspect, both managed uniformly.
75b56e51fade initial draft
haftmann
parents:
diff changeset
    62
\end{abstract}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    63
75b56e51fade initial draft
haftmann
parents:
diff changeset
    64
\thispagestyle{empty}\clearpage
75b56e51fade initial draft
haftmann
parents:
diff changeset
    65
75b56e51fade initial draft
haftmann
parents:
diff changeset
    66
\pagenumbering{roman}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    67
\clearfirst
75b56e51fade initial draft
haftmann
parents:
diff changeset
    68
75b56e51fade initial draft
haftmann
parents:
diff changeset
    69
\input{Thy/document/Classes.tex}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    70
75b56e51fade initial draft
haftmann
parents:
diff changeset
    71
\begingroup
75b56e51fade initial draft
haftmann
parents:
diff changeset
    72
%\tocentry{\bibname}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    73
\bibliographystyle{plain} \small\raggedright\frenchspacing
23956
48494ccfabaf updated
haftmann
parents: 22347
diff changeset
    74
\bibliography{../../manual}
20946
75b56e51fade initial draft
haftmann
parents:
diff changeset
    75
\endgroup
75b56e51fade initial draft
haftmann
parents:
diff changeset
    76
75b56e51fade initial draft
haftmann
parents:
diff changeset
    77
\end{document}
75b56e51fade initial draft
haftmann
parents:
diff changeset
    78
75b56e51fade initial draft
haftmann
parents:
diff changeset
    79
75b56e51fade initial draft
haftmann
parents:
diff changeset
    80
%%% Local Variables: 
75b56e51fade initial draft
haftmann
parents:
diff changeset
    81
%%% mode: latex
75b56e51fade initial draft
haftmann
parents:
diff changeset
    82
%%% TeX-master: t
75b56e51fade initial draft
haftmann
parents:
diff changeset
    83
%%% End: