Module

RestrictedTateModule.lean

Nyll.ProCGroups.Abelian.RestrictedTateModule
16 declarations indexed from sourceView source ↗

Compatible actual torsion families on a multiplicative set of indices

Restricting positive indices to a submonoid preserves products and therefore the actual multiplication transitions. Each coordinate is an actual torsion point, and the topology is the subspace topology of discrete torsion levels.

Declarations

ProCGroups.restrictedCompatibleTorsionFamilies

The actual compatible families over a multiplicative set of positive indices.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
def restrictedCompatibleTorsionFamilies : AddSubgroup (∀ n : S, torsionLevel M n.1) where
  carrier := {x | ∀ n m : S, torsionTransition M n.1 m.1 (x (n * m)) = x n}
  zero_mem' := fun n m => (torsionTransition M n.1 m.1).map_zero
  add_mem' := by
    intro x y hx hy n m
    change torsionTransition M n.1 m.1 (x (n * m) + y (n * m)) = x n + y n
    rw [map_add, hx n m, hy n m]
  neg_mem' := by
    intro x hx n m
    change torsionTransition M n.1 m.1 (-x (n * m)) = -x n
    rw [map_neg, hx n m]
ProCGroups.RestrictedTateModule

The Tate module formed from the actual torsion levels with indices in S.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
def RestrictedTateModule : Type u
Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
instance : AddCommGroup (RestrictedTateModule M S)
ProCGroups.RestrictedTateModule.projection

Projection to the actual torsion group at an allowed index.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
def projection (n : S) : RestrictedTateModule M S →+ torsionLevel M n.1 where
  toFun x := x.1 n
  map_zero' := rfl
  map_add' _ _ := rfl
ProCGroups.RestrictedTateModule.evaluation

Evaluation in the original group of points.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
def evaluation (n : S) : RestrictedTateModule M S →+ M
theorem

ext

L58 ↗
ProCGroups.RestrictedTateModule.ext

Compatible families are equal if their actual points at every allowed index agree.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
theorem ext {x y : RestrictedTateModule M S}
    (h : ∀ n : S, evaluation M S n x = evaluation M S n y) : x = y
ProCGroups.RestrictedTateModule.evaluation_compatible

The defining transitions are multiplication in the original group.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
theorem evaluation_compatible (x : RestrictedTateModule M S) (n m : S) :
    (m.1 : ℕ) • evaluation M S (n * m) x = evaluation M S n x
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
instance (n : ℕ+) : TopologicalSpace (torsionLevel M n)
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
instance (n : ℕ+) : DiscreteTopology (torsionLevel M n)
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
instance : TopologicalSpace (RestrictedTateModule M S)
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
instance : IsTopologicalAddGroup (RestrictedTateModule M S)
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
instance : T2Space (RestrictedTateModule M S)
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
instance : TotallyDisconnectedSpace (RestrictedTateModule M S)
ProCGroups.RestrictedTateModule.continuous_projection

Every coordinate projection is continuous for the discrete torsion topology.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
theorem continuous_projection (n : S) : Continuous (projection M S n)
ProCGroups.RestrictedTateModule.isClosed_restrictedCompatibleTorsionFamilies

Compatibility is a closed condition in the product of the actual discrete levels.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
theorem isClosed_restrictedCompatibleTorsionFamilies :
    IsClosed (restrictedCompatibleTorsionFamilies M S :
      Set (∀ n : S, torsionLevel M n.1))
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u
variable (M : Type u) [AddCommGroup M] (S : Submonoid ℕ+)
namespace RestrictedTateModule
variable {M S}
variable (M S)
local instance (n : ℕ+) : TopologicalSpace (torsionLevel M n) :=
  FullTateModule.torsionLevelTopology M n
local instance (n : ℕ+) : DiscreteTopology (torsionLevel M n) := ⟨rfl⟩
instance [∀ n : S, Finite (torsionLevel M n.1)] : CompactSpace (RestrictedTateModule M S)