test: add System F cbv benchmark (#12623)

This PR adds a System F formalization as a `cbv` tactic benchmark. It is
a translation of the Rocq case study from:

*Definitional Proof Irrelevance Made Accessible* by Thiago Felicissimo,
Yann Leray, Loïc Pujet, Nicolas Tabareau, Éric Tanter, Théo Winterhalter

The authors have given permission to use their development.

The benchmark includes:
- A full System F formalization (substitution lemmas, confluence of
λ-calculus, strong normalization)
- A `pow2DoubleEq` benchmark that verifies 2^(n+1) = 2^n + 2^n via
normalization in System F, measuring both `cbv` tactic time and kernel
checking time for n = 0..6

Co-Authored-By: @david-christiansen

Co-authored-by: David Thrane Christiansen <david@davidchristiansen.dk>
This commit is contained in:
Wojciech Różowski 2026-02-20 16:46:07 +00:00 committed by GitHub
parent 73751bbb27
commit 722813105d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 1641 additions and 1 deletions

File diff suppressed because it is too large Load diff

View file

@ -694,4 +694,10 @@
tags: [other]
run_config:
<<: *time
cmd: lean ./cbv/merge_sort.lean
cmd: lean ./cbv/merge_sort.lean
- attributes:
description: cbv tactic (System F normalization)
tags: [other]
run_config:
<<: *time
cmd: lean ./cbv/system_f.lean