Equations Reloaded: High-Level Dependently-Typed Functional Programming and Proving in Coq

Matthieu Sozeau and Cyprien Mangin, International Conference on Functional Programming (ICFP) — 2019

Links

Abstract

Equations is a plugin for the Coq proof assistant which provides a notation for defining programs by dependent pattern-matching and structural or well-founded recursion. It additionally derives useful high-level proof principles for demonstrating properties about them, abstracting away from the implementation details of the function and its compiled form. We present a general design and implementation that provides a robust and expressive function definition package as a definitional extension to the Coq kernel. At the core of the system is a new simplifier for dependent equalities based on an original handling of the no-confusion property of constructors.
ICFP
Dependent pattern-matching