Repository navigation
Lean 4.35.0; version 0.2.0 - #53
Merged
Merged
Conversation
added 2 commits
October 26, 2026 00:21
… v4.35.0; version 0.2.0
This was referenced Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves cryptlib to Lean v4.35.0, the latest stable release, with Mathlib, VCVio, cslib and Cli at their
v4.35.0tags and cborg at its 4.35.0 merge; the docs site (Verso) and API docs (doc-gen4) move tov4.35.0too. The version becomes 0.2.0, since a new toolchain breaks dependents; the tag follows once every Katzenpost Lean package is on 4.35.0.What VCVio v4.35.0 changed, and what follows here:
HashSig.SLHDSA.Concrete.KeccaktoVCVio.Algorithms.Keccak, andsha3_256/sha3_512aresha3Digest256/sha3Digest512, with the same definitions. ML-KEM and the group chat scenarios import the new module; the ML-KEM vectors and the 14 scenarios against katzenqt still pass, so no byte changed.Pr[… | …],probOutputandNeverFailare gone in favour ofPr{let x ← mx}[p x]over Mathlib measures. VCVio's codemod (scripts/migrate-native-probability.py) converted the statements in Sphinx, BACAP andSign/Blindable; the proofs it leaves were redone:Util/UniformHitandSphinx/IntegritywithOracleComp.prEvent_bind_eq_tsumandSampleableType.prEvent_uniformSample_eq_singleton;Sphinx/IndistinguishabilitywithprEvent_bind_congr,OracleComp.prEvent_bind_bind_swap,ProbComp.evalDist_decide_eq_uniformBool_half, and a lemmaprEvent_bind_unusedfor a draw whose result is unused. The DDH and PRG experiments were renamed (ddhExpReal→ddhRealExperiment,prgRealExp→prgRealExperiment, …) with unchanged definitions.ddhDistAdvantageis gone;advantage_lenow states its DDH hypothesis as that definition read,|Pr[real] - Pr[random]| ≤ εDDH, as it already states the two PRG ones, so the theorem says what it said.NeverFailbinders are dropped: aProbCompnever fails.List.eraseP_consunfolds toifinstead ofbif, so one simp set inMember/ReaderProofstakesBool.false_eq_true, ↓reduceIte.Mathlib came from its cache throughout (
lake exe cache get); nothing of it was compiled. Locally:lake buildof the library and every CI target; all 15 CI test executables pass;scripts/check-axioms.shfinds every group chat theorem on Lean's own axioms; nosorry;benchbuilds (LeanBench unchanged); the Verso site and doc-gen4 build.