Reasoning about modular datatypes with Mendler induction

3Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

In functional programming, datatypes à 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.

Cite

CITATION STYLE

APA

Torrini, P., & Schrijvers, T. (2015). Reasoning about modular datatypes with Mendler induction. In Electronic Proceedings in Theoretical Computer Science, EPTCS (Vol. 191, pp. 143–157). Open Publishing Association. https://doi.org/10.4204/EPTCS.191.13

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free