Abstract syntax; Computer aided proof development; First-order encoding; Formal reasoning
We present two case studies in formal reasoning about untyped λ-calculus in Coq, using both first-order and higher-order abstract syntax. In the first case, we prove the equivalence of three definitions of α-equivalence; in the second, we focus on …