Conversation
🤖 Gemini PR SummaryThis pull request updates the codebase to Lean 4.27.0 and aligns it with the corresponding versions of Mathlib and other dependencies. The migration addresses breaking changes in the Features
Fixes
Refactoring
Documentation
Analysis of Changes
🎨 **Style Guide Adherence**
📄 **Per-File Summaries**
Last updated: 2026-02-16 16:44 UTC. |
|
this will take a bit of a refactor but it's definitely on the roadmap; very happy to port over BF128Ghash sooner (this week) rather than later especially if it clears this up |
That would be fine for this I think but you'll probably need to fix the same issues to bump the version there then. You can remove the Note also that there are some manual unfolds that I added over |
| exact Finite.of_equiv (Fin pb.dim →₀ ZMod 2) (pb.basis.repr.toEquiv.symm) | ||
| exact Fintype.ofFinite BF128Ghash | ||
|
|
||
| set_option maxRecDepth 10000 in |
There was a problem hiding this comment.
This is maybe the simplest example of the problem. Without this the rfl call fails, which is suprising to me as they are genuinely def-eq (as you can see by increasing depth here). It seems to be over-expanding some instances in AdjoinRoot when unifying but it is unclear to me why.
|
|
||
| section MainResults | ||
| variable {F : Type} [CommRing F] [Fintype F] [NoZeroDivisors F] [DecidableEq F] | ||
| -- dtumad: Added `IsDomain F` here, see (https://github.com/leanprover-community/mathlib4/commit/290f644e69925cec5f98aea3e950cb5218583b54) |
There was a problem hiding this comment.
Also I'm unsure if this is fine to add for our use case? If not we'll need more refactors, see the link for changes to NoZeroSMulDivisors stuff
|
@dtumad @alexanderlhicks binary field specs including BF128Ghash are in PR 84 into CompPoly, updating #309 now to reflect those changes. Good to know re the errors, I guess this now falls to me in updating CompPoly 👀 |
|
Is the plan to merge #309 first then? @chung-thai-nguyen sent me some fixes for BF128 that I haven't had a chance to apply here yet but you'll probably want them yourself if so |
Updates versioning to
4.27.Corresponding VCV changes:
A few remaining issues:
BF128Ghashnow times out the compiler in some places. Making the definition reducible helped but didn't fix everything. Only some of the errors are resolved with increased recursion depth.BinaryBaseFold'sQueryPhasenow times out the compiler.rw!is now causing weird behavior insideconvcalls in some places (also it no longer callsrflat the end outside ofconvmode so that has to be added to the end of a bunch of proofs).