Authors
Steven Keuchel, Tom Schrijvers
Publication date
2013/9/28
Book
Proceedings of the 9th ACM SIGPLAN Workshop on Generic Programming
Pages
13-24
Description
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Building modular reusable components is a key issue in reducing these costs. A stumbling block for reuse is that inductive definitions and proofs are closed to extension. This is a manifestation of the expression problem that has been addressed by the Meta-Theory a la Carte (MTC) framework in the context of programming language meta-theory. However, MTC's use of extensible Church-encodings is unsatisfactory.
This paper takes a better approach to the problem with datatype-generic programming (DGP). It applies well-known DGP techniques to represent modular datatypes, to build functions from functor algebras with folds and to compose proofs from proof algebras by means of induction. Moreover, for certain functionality and proofs our approach can achieve more reuse than MTC: instead of composing modular …
Total citations
20132014201520162017201820192020202120222023202411111312231
Scholar articles
S Keuchel, T Schrijvers - Proceedings of the 9th ACM SIGPLAN Workshop on …, 2013