Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Deriving/document/   (Sammlung formaler Beweise Version 2026-5©)  Datei vom 29.4.2026 mit Größe 2 kB image not shown  

Quelle  root.tex

  Sprache: Latech
 

\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{isabelle,isabellesym}

% this should be the last package used
\usepackage{pdfsetup}
\usepackage{railsetup}

% urls in roman style, theory text in math-similar italics
\urlstyle{rm}
\isabellestyle{it}

\newcommand\isafor{\textsf{IsaFoR}}
\newcommand\ceta{\textsf{Ce\kern-.18emT\kern-.18emA}}

\begin{document}

\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
C=92 H=98 G=94

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-06-10) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.