arXiv · 1509.03021
Reasoning about modular datatypes with Mendler induction
Abstract
In functional programming, datatypes a la carte provide a convenient modular representation of recursive datatypes, based on their initial algebra semantics. Unfortunately it is highly challenging to implement this technique in proof assistants that are based on type theory, like Coq. The reason is that it involves type definitions, such as those of type-level fixpoint operators, that are not strictly positive. The known work-around of impredicative encodings is problematic, insofar as it impedes conventional inductive reasoning. Weak induction principles can be used instead, but they considerably complicate proofs. This paper proposes a novel and simpler technique to reason inductively about impredicative encodings, based on Mendler-style induction. This technique involves dispensing with dependent induction, ensuring that datatypes can be lifted to predicates and relying on relational formulations. A case study on proving subject reduction for structural operational semantics illustrates that the approach enables modular proofs, and that these proofs are essentially similar to conventional ones.
Explore related subjects
Keep this discovery
Paolo Torrini, Tom Schrijvers. 2015-09-10. Reasoning about modular datatypes with Mendler induction. https://doi.org/10.4204/eptcs.191.13
Cite the original work for its findings. Save a collection to share your selection of sources.