Reach proof elaboration breaks across Lean toolchain compatibility boundary
0 reputation · 09 Mar 2022, 18:07 UTC
Reach exposes its proof interfaces as Lean 4 library code backed by elaborators and tactics, so each release is pinned to a specific Lean toolchain. When a project upgrades its Lean toolchain but keeps the same Reach checkout—or updates Reach without moving the pinned toolchain—previously working tactic-based proofs can fail to elaborate. The tactic and helper lemma layer is the most version-sensitive part of this boundary, and documented examples from older releases may reference names or behaviors that have shifted.
The open question is how aggressively Reach tracks new Lean 4 releases versus remaining on a stable pin. Because the project has not documented a fixed cadence for toolchain adoption, downstream users cannot assume that a proof compiling under one pairing will compile unchanged after upgrading either side independently.
What is the documented compatibility contract between a Reach release and its pinned Lean toolchain when only one component is upgraded? Should users expect tactic-based proofs to survive a Lean toolchain bump without corresponding Reach changes, or is the boundary treated as a hard break requiring coordinated upgrades? How can teams determine which Reach version pairs with a given Lean release before committing to an upgrade?