Skip to content

feat(RepresentationTheory/Homological/ContCohomology/Sha): define Sha - #43529

Open
Whysoserioushah wants to merge 20 commits into
leanprover-community:masterfrom
Whysoserioushah:edison/tateSha
Open

feat(RepresentationTheory/Homological/ContCohomology/Sha): define Sha#43529
Whysoserioushah wants to merge 20 commits into
leanprover-community:masterfrom
Whysoserioushah:edison/tateSha

Conversation

@Whysoserioushah

@Whysoserioushah Whysoserioushah commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

This PR defines the Tate-Shafarevich group in a general setting as intersections of kernels of the natural map between galois cohomology groups.

co-authored-by: @Multramate


Open in Gitpod

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR summary 7202562696

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.RepresentationTheory.Homological.ContCohomology.Sha (new file) 2371

Declarations diff (regex)

+ mem_tateSha
+ tateSha
+ tateSha_eq_iInf
+ tateSha_eq_ker_pi

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean -- stale; merge master and push to refresh)

Lean-aware diff — post-build, computed from the Lean environment (commit 5724928).

  • +5 new declarations
  • −0 removed declarations
+ContinuousCohomology.coe_tateSha
+ContinuousCohomology.mem_tateSha
+ContinuousCohomology.tateSha
+ContinuousCohomology.tateSha_eq_iInf
+ContinuousCohomology.tateSha_eq_ker_pi

No changes to strong technical debt.

Increase in weak tech debt: (relative, absolute) = (1.00, 0.00)
Current number Change Type (weak)
exposed public sections 5062 1

Current commit 7202562696
Reference commit 38f65a093a

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.py pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions Bot added the t-algebra Algebra (groups, rings, fields, etc) label Sep 7, 2026
@Whysoserioushah Whysoserioushah changed the title feat(RepresentationTheory/Continuous/Sha): define Sha feat(RepresentationTheory/Homological/ContCohomology/Sha): define Sha Sep 7, 2026

@Multramate Multramate left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this in the right file? Maybe we can call the file tateSha.

@tb65536

tb65536 commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Can you add a PR description?

Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
@eric-wieser

Copy link
Copy Markdown
Member

Wikipedia says

It is known that the Tate–Shafarevich group is a torsion group

Is this a short proof?

@Multramate

Copy link
Copy Markdown
Collaborator

Wikipedia says

It is known that the Tate–Shafarevich group is a torsion group

Is this a short proof?

I think this requires A to be torsion. Then it follows from the fact that if your Galois group is profinite then cohomology is torsion. I don't know if this already exists in mathlib but it might.

Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Co-authored-by: Thomas Browning <tb65536@users.noreply.github.com>
@tb65536

tb65536 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Thanks!

maintainer delegate

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by tb65536.

@mathlib-triage mathlib-triage Bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Sep 8, 2026

@eric-wieser eric-wieser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors d+

Didn't I hear that you wanted to add scoped notation here?

@mathlib-bors mathlib-bors Bot added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Sep 8, 2026
@mathlib-bors

mathlib-bors Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

✌️ Whysoserioushah can now approve this pull request until 2026-09-22 13:12 UTC (in 2 weeks). To approve and merge, reply with bors r+. More detailed instructions are available here.

⚠️ This delegation only covers changes within Archive/**, Counterexamples/**, docs/**, DownstreamTest/**, Mathlib/**, MathlibTest/**, Wanted/**, widget/**, Archive.lean, Counterexamples.lean, docs.lean, Mathlib.lean, Wanted.lean; an author commit touching anything else will revoke it. Bors also revokes it if a later push changes too many files for it to check the full list — even if it stays within scope.

@mathlib-triage mathlib-triage Bot removed the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Sep 8, 2026
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@Whysoserioushah

Copy link
Copy Markdown
Collaborator Author

bors r+

@mathlib-bors mathlib-bors Bot added the ready-to-merge This PR has been sent to bors. label Sep 8, 2026
mathlib-bors Bot pushed a commit that referenced this pull request Sep 8, 2026
…#43529)

This PR defines the Tate-Shafarevich group in a general setting as intersections of kernels of the natural map between galois cohomology groups.

co-authored-by: @Multramate

Co-authored-by: Whysoserioushah <yx3021@ic.ac.uk>
@mathlib-bors mathlib-bors Bot added the bors-staging This PR is currently being built by bors on the staging branch. label Sep 8, 2026
@Whysoserioushah

Copy link
Copy Markdown
Collaborator Author

bors r-

@mathlib-bors

mathlib-bors Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Bors build canceled.

Address comments or fix if necessary, and then someone with permission can run bors r+.

@mathlib-bors mathlib-bors Bot removed ready-to-merge This PR has been sent to bors. bors-staging This PR is currently being built by bors on the staging branch. labels Sep 8, 2026

@kbuzzard kbuzzard left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I'm in the middle of a review, here are some preliminary comments)

Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
/-- The Tate-Shafarevich group of a continuous representation. -/
@[simps!]
noncomputable def tateSha : AddSubgroup (continuousCohomology n A) :=
⨅ v, (map (Field.absoluteGaloisGroup.map (algebraMap K (f v))) (𝟙 _) n).hom.toAddMonoidHom.ker

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not what it says in the module docstring, for two technical reasons.

  1. H^1(K,X) means H^1(Gal(K^sep/K),X), not H^1(Gal(K-bar/K),X) (indeed Gal(K-bar/K) makes no sense mathematically)

  2. You claim in the module docstring that Sha is the intersection of the kernels of H^1(K,A(Ksep))->H^1(Kv,A(Kvsep)), but I think that your definition is the intersection of the kernels of H^1(K,A(Ksep))->H^1(Kv,A(Ksep)) (the group changes but not the module). For a general A and K and f I don't see any reason why these should be the same. For an abelian variety over a global field with completions these things are the same but this is a nonobvious result and I don't think that this should be swept under the carpet.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where did we say K-bar?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh absoluteGaloisGroup is in terms of K-bar, why is it not in terms of K-sep?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so the answer is mathlib's definition is wrong, and it's not our problem :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, these two definitions are the same :)

I'm planning on thinking about this a bit tomorrow morning.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The nonobvious result @kbuzzard mentions is Greenberg approximation I believe? We might have to take in a map A -> A_v instead? Unless we're willing to just modify the docstring to say we only need it when H^1(A) = H^1(A_v).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For (1) we have #19616 to fix the issue, for (2) I agree maybe this is an unfixable issue for abstraction

Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean
Here `Kᵥ` is a `K`-algebra for each place `v` in an arbitrary indexing set `V`,
which induces maps between absolute Galois groups and hence maps between cohomology groups.

When `V` is the set of places of a global field `K`, `A` is the set of rational points of an abelian

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct: A is not the rational points (which typically means K-points), it's the K^sep-points.

Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean
Comment thread Mathlib/RepresentationTheory/Homological/ContCohomology/Sha.lean Outdated
@Multramate

Copy link
Copy Markdown
Collaborator

On another note, I think we should call this file SelmerSha and add API for Selmer groups in the sense of Rubin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants