The deformation (algebraic Novikov / τ-Bockstein) spectral sequence - #289
Draft
JoeyBF wants to merge 4 commits into
Draft
The deformation (algebraic Novikov / τ-Bockstein) spectral sequence#289JoeyBF wants to merge 4 commits into
JoeyBF wants to merge 4 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
JoeyBF
force-pushed
the
claude/motivic-deformation
branch
from
September 1, 2026 00:24
7c60746 to
f392196
Compare
`multiply_with_allocation` branched on `generic()`, but the two arms were the same computation: `multiply_qpart(m1, 0)` returns `[(1, m1)]`, so the classical arm is the generic one with an empty exterior part. Collapse them into `milnor_product`, a free function that reports each `(coefficient, basis element)` through a callback, leaving the index lookup and excess filter to the caller. `multiply_qpart` becomes free too; it only ever read the prime. `generic` was a `bool` field written once as `p != 2` and never mutated. Derive it instead. That also drops its `#[cfg(feature = "odd-primes")]` gate: without the feature `ValidPrime` is the zero-sized type 2, so the comparison folds to a constant on its own. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F25ZVbsP7ULg41iY3MP6FX
JoeyBF
force-pushed
the
claude/motivic-deformation
branch
from
September 1, 2026 02:05
f392196 to
38c29c4
Compare
Carve the motivic resolution layer out of the integration branch as the next tranche after the algebra engine (SpectralSequences#266, merged). Adds CTauAlgebra, the A_C/tau view the ordinary resolution engine resolves, and MotivicResolution: resolve the trivial module over A_C/tau, then lift the differential to A_C by correcting along the weight grading. Includes the resolution cache and the resolve_motivic_ctau example. A_C/tau is F_2[xi_i] tensor E(tau_i) — the odd-primary dual's shape with 2^i for p^i — so its product is the classical one at p = 2: the exterior commutation shifts by 2^k and the signs collapse over F_2. It therefore multiplies through `milnor_product` from the parent commit rather than reimplementing the walk, and a test cross-checks that against the engine's independent closed-form product, which comes from Kong-Lin duality instead. Note that `milnor_product` takes its left factor first while the engine's `product_indexed` orders its arguments the other way; the two agree exactly under that transposition. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ePtYD7Bt4iPeCtmqtqvZE
Parsing and product invariants in CTauAlgebra: - `Q_k` with k >= 32 was shifted into a 32-bit exterior mask: a debug panic, and in release a masked shift that silently produced the wrong monomial. Module descriptors are untrusted input, so reject it instead. - A product term absent from the degree-t basis was skipped. `enum_basis` holds every such monomial, so a miss is a broken invariant, not a term to drop; say so. - Reuse the `PPartAllocation` across basis products rather than allocating one per call. - The decomposition residual check guarded a silently wrong result, so it now holds in release too. In the resolution: - `MOT_MARGIN` below 1 shrank the compute box under the report box, so readers indexed generators the lift never populated. Clamp it. - The tau-power cast wrapped a negative difference to near u32::MAX, which also defeated the `power >= 1` test guard. Fail on it. - Only the (s=0, t=0) generator is seeded with a weight, so a module that is not cyclic on a degree-0 class left generators unweighted and panicked in the verify path far from the cause. Reject such modules up front. Seeding caller-supplied cell weights is left for the follow-up that needs them. The example now uses `trivial_module` and the `CTauResolution` alias instead of rebuilding both. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ePtYD7Bt4iPeCtmqtqvZE
… sequence Assemble the lifted differential into a trigraded spectral sequence: E_1 = Ext over A_C/tau with d_1 the weight-1 part of delta, and the higher d_r by the tau-Bockstein zig-zag. Inverting tau gives the classical Adams E_2; finite-page deaths are the motivic tau-torsion. Adds classical_ext_rank and the chart_motivic example. The anchor test asserts that inverting tau reproduces the classical Adams E_2 over the tested range. deformation_products is deferred to the products tranche, since it reads multiplication off the Ext DGA. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ePtYD7Bt4iPeCtmqtqvZE
JoeyBF
force-pushed
the
claude/motivic-deformation
branch
from
September 1, 2026 02:10
38c29c4 to
9b8d6d6
Compare
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.
Draft — third tranche of the motivic stack. Cumulative: contains the resolution tranche below it, so review only the top commit until that one lands.
What this is
Assemble the lifted differential into a trigraded spectral sequence (stem
n, filtrations, weightw):Adds
classical_ext_rankand thechart_motivicexample.Stack
Deferred
deformation_productsgoes with the products tranche — it reads multiplication off the Ext DGA, so it needs the cohomology layer (and #267) rather than anything here.Status
Build/clippy/fmt clean. 6 motivic tests pass, including the anchor: inverting τ reproduces the classical Adams$E_2$ over the tested range.
Generated by Claude Code