feat: compute dynamic subgroups from weights - #4298
Conversation
There was a problem hiding this comment.
✅ generality — now passing on 25b62a6.
There was a problem hiding this comment.
✅ placement — now passing on 25b62a6.
There was a problem hiding this comment.
🟡 naming — request_changes codex/gpt-5.6-sol
One definitional restatement uses a nonstandard theorem suffix.
TauCeti/Algebra/AlgebraicGroup/GeneralLinear/Dynamic/GL2/Basic.lean:81—dynamicCocharacter_eq_weightCocharacteris arflrestatement ofdynamicCocharacter; the TauCeti naming addendum reserves_deffor such unfolding lemmas. Fix: Rename it todynamicCocharacter_defand update its consumers, without retaining an alias.
Reply in this thread to contest a finding; that re-runs only this rubric and posts an answer here. (To fix it, just push a commit — that re-reviews on its own. To contest again after an answer, post a NEW reply rather than editing an old one.)
codex/gpt-5.6-sol · 44s · 244.3k in / 1.4k out tokens · reviewing this diff · rubric
There was a problem hiding this comment.
✅ proof-quality — now passing on 25b62a6.
AI review — changes requestedEach rubric is judged independently by multiple review agents; the PR merges only once every rubric is green — any rubric that is not green (changes requested, blocked, errored, stale, or not yet run) blocks the merge. See the rubrics.
♻️ = approved on an earlier commit, re-run before merge. Reviewing this diff at head |
bf6b8dd to
f9316e9
Compare
f9316e9 to
b2981ba
Compare
There was a problem hiding this comment.
✅ documentation — now passing on 25b62a6.
9513ce0 to
15c9f0b
Compare
15c9f0b to
1e38445
Compare
1e38445 to
25b62a6
Compare
Co-Authored-By: Codex <noreply@github.com>
Extract the generic polynomial point-map lemmas, align the weight membership names, and document the remaining definitional reductions. Co-Authored-By: Codex <noreply@github.com>
Document why the specialized parabolic proof must reduce the dual block-order comparisons by definitional equality.\n\nCo-Authored-By: Codex <noreply@github.com>
Move torus-level cocharacter construction beside the weight torus, reuse the general weight criteria in the GL2 specialization, and simplify the determinant and order proofs with the named library lemmas requested by review. Co-Authored-By: Codex <noreply@github.com>
Remove the redundant block-triangular wrapper, seal the GL2 implementation behind characteristic lemmas, and document necessary normalization steps. Co-Authored-By: Codex <noreply@github.com>
Co-Authored-By: Codex <noreply@github.com>
Follow the GL2 subgroup module after the weight-generalization refactor. Co-Authored-By: Codex <noreply@github.com>
Keep the GL2-specific representability results with the rest of the GL2 dynamic subgroup API. Co-Authored-By: Codex <noreply@github.com>
This PR equips every integer weight family
w : Fin N → ℤwith the represented cocharacterλ_w(t) = diag(t ^ w i)and computes its three dynamic subgroups over every commutative base ring. Provemem_weightCocharacter_parabolic_iff:P(λ_w)consists exactly of matrices withgᵢⱼ = 0whenw i < w j, expressed by Mathlib'sMatrix.BlockTriangularfor the decreasing weight filtration. Compute the limit entrywise, identify the Levi with matrices preserving each weight space, and identify the dynamic unipotent subgroup with block-triangular matrices acting trivially on every associated-graded weight space.This PR advances
TauCetiRoadmap/ReductiveGroups/README.md, Layer 7, milestone “Borel subgroups, maximal tori, and their conjugacy; parabolic subgroups and Levi decomposition,” specifically its instruction to keep the dynamic approach to parabolics, Levi subgroups, and unipotent radicals as a parallel route avoiding full root data. The preceding merged step #4253 computes onlydiag(t, 1)inGL₂; arbitrary weights are the next critical-path calculation because they produce all standard block parabolics and their Levi decompositions inGLₙ, rather than another isolated rank-one example.Construct the extension across
t = 0explicitly: replace the(i,j)entry byC(gᵢⱼ) X^(w i - w j)when the exponent is nonnegative and by zero otherwise. Block triangularity makes its Laurent image equal to cocharacter conjugation, and determinant invariance under diagonal conjugation proves its determinant is the constant unitC(det g). Conversely, reading the negative Laurent coefficient forces every forbidden entry to vanish, including over rings with zero divisors. This reuses Mathlib'sMatrix.BlockTriangular,RingHom.map_det, polynomial-to-Laurent API, and general-linear determinant homomorphism, together with Tau Ceti's weight-torus and dynamic-subgroup infrastructure; no Mathlib source is vendored. The mathematical organization follows Kempf, Instability in invariant theory, §2, and Milne, Algebraic Groups (2017), Chapter 13, as cited in the module documentation.Add
TauCeti/Algebra/AlgebraicGroup/GeneralLinear/Dynamic/Weights.lean(546 lines). RefactorDynamic/Basic.leanso the existingGL₂cocharacter specializesweightCocharacter; move its two generic polynomial point-map lemmas into the new foundational module and remove the former duplicated rank-one coordinate construction. After this PR, the Layer 7 milestone still needs representability of these dynamic subgroup functors by closed subgroup schemes and Borel/maximal-torus conjugacy.Roadmap: ReductiveGroups
🤖 Prepared with Codex