Autosubst: Reasoning with de Bruijn Terms and Parallel Substitutions [chapter]

Steven Schäfer, Tobias Tebbi, Gert Smolka
2015 Lecture Notes in Computer Science  
Reasoning about syntax with binders plays an essential role in the formalization of the metatheory of programming languages. While the intricacies of binders can be ignored in paper proofs, formalizations involving binders tend to be heavyweight. We present a discipline for syntax with binders based on de Bruijn terms and parallel substitutions, with a decision procedure covering all assumption-free equational substitution lemmas. The approach is implemented in the Coq library Autosubst, which
more » ... dditionally derives substitution operations and proofs of substitution lemmas for custom term types. We demonstrate the effectiveness of the approach with several case studies, including part A of the POPLmark challenge.
doi:10.1007/978-3-319-22102-1_24 fatcat:pfok5627gvhstnsmd2nddclina