%\documentclass{svjour3}
\documentclass{llncs}
\usepackage{times}
\usepackage{isabelle}
\usepackage{isabellesym}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pdfsetup}


\urlstyle{rm}
\isabellestyle{it}
\renewcommand{\isastyle}{\isastyleminor}

\def\dn{\,\stackrel{\mbox{\scriptsize def}}{=}\,}
\renewcommand{\isasymequiv}{$\dn$}
\renewcommand{\isasymemptyset}{$\varnothing$}

\begin{document}

\title{Quotients Revisited for Isabelle/HOL}
\author{Cezary Kaliszyk$^*$ and Christian Urban$^*$}
\institute{$^*$ Technical University of Munich, Germany}
\maketitle

\begin{abstract}
Higher-order logic (HOL), used in several theorem provers, is based on a 
small logic kernel, whose only mechanism for extension is the introduction 
of safe definitions and non-empty types. Both extensions are often performed by 
quotient constructions; for example finite sets are constructed by quotienting
lists, or integers by quotienting pairs of natural numbers. To ease the work 
involved with quotient constructions, we re-implemented in Isabelle/HOL
the quotient package by Homeier. In doing so we extended his work 
in order to deal with compositions of quotients. Also, we designed
our quotient package so that every step in a quotient construction 
can be performed separately. The importance to programming language research
is that many properties of programming languages are more convenient to verify
over $\alpha$-quotient terms, than over raw terms.
\end{abstract}

% generated text of all theories
\input{session}

% optional bibliography
\bibliographystyle{abbrv}
\bibliography{root}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
