Quotients of Bounded Natural Functors
-
Published:2022-02-01
Issue:
Volume:Volume 18, Issue 1
Page:
-
ISSN:1860-5974
-
Container-title:Logical Methods in Computer Science
-
language:en
-
Short-container-title:
Author:
Fürer Basil,Lochbihler Andreas,Schneider Joshua,Traytel Dmitriy
Abstract
The functorial structure of type constructors is the foundation for many
definition and proof principles in higher-order logic (HOL). For example,
inductive and coinductive datatypes can be built modularly from bounded natural
functors (BNFs), a class of well-behaved type constructors. Composition,
fixpoints, and, under certain conditions, subtypes are known to preserve the
BNF structure. In this article, we tackle the preservation question for
quotients, the last important principle for introducing new types in HOL. We
identify sufficient conditions under which a quotient inherits the BNF
structure from its underlying type. Surprisingly, lifting the structure in the
obvious manner fails for some quotients, a problem that also affects the
quotients of polynomial functors used in the Lean proof assistant. We provide a
strictly more general lifting scheme that supports such problematic quotients.
We extend the Isabelle/HOL proof assistant with a command that automates the
registration of a quotient type as a BNF, reducing the proof burden on the user
from the full set of BNF axioms to our inheritance conditions. We demonstrate
the command's usefulness through several case studies.
Publisher
Centre pour la Communication Scientifique Directe (CCSD)
Subject
General Computer Science,Theoretical Computer Science