\title{Deriving class instances for datatypes.\footnote{Supported by FWF (Austrian Science Fund) projects P27502 and Y757.}} \author{Christian Sternagel and Ren\'e Thiemann} \maketitle
\begin{abstract}
We provide a framework for registering automatic methods
to derive class instances
of datatypes,
as it is possible using Haskell's ``deriving Ord, Show, \ldots'' feature.
We further implemented such automatic methods to derive comparators, linear orders, parametrizable equality functions,
and hash-functions which are required in the
Isabelle Collection Framework \cite{rbt} and the Container Framework \cite{containers}.
Moreover, for the tactic of Blanchette to show that a datatype is countable, we implemented a
wrapper so that this tactic becomes accessible in our framework. All of the generators are based on
the infrastructure that is provided by the BNF-based datatype package.
Our formalization was performed as part of the \isafor/\ceta{} project% \footnote{\url{http://cl-informatik.uibk.ac.at/software/ceta}}\cite{CeTA}.
With our new tactics we could remove
several tedious proofs for (conditional) linear orders, and conditional equality operators
within \isafor{} and the Container Framework. \end{abstract}
\tableofcontents
% include generated text of all theories \input{session}
\section{Acknowledgements}
We thank \begin{itemize} \item Lukas Bulwahn and Brian Huffman for the discussion on a generic derive command. \item Jasmin Blanchette for providing the tactic for countability for BNF-based datatypes. \item Jasmin Blanchette and Dmitriy Traytel for adjusting the Isabelle/ML interface of
the BNF-based datatypes. \item Alexander Krauss for telling us to avoid the function package for this task. \item Peter Lammich for the inspiration of developing a hash-function generator. \item Andreas Lochbihler for the inspiration of developing generators for the container framework. \item Christian Urban for his cookbook on Isabelle/ML. \item Stefan Berghofer, Florian Haftmann, Cezary Kaliszyk, Tobias Nipkow, and Makarius Wenzel for their explanations
on several Isabelle related questions. \end{itemize}
\bibliographystyle{abbrv} \bibliography{root}
\end{document}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.