Module

RelativeGroupLaw_exists_isOpenImmersion_irreducibleSpace_range_eq_connectedComponent_finiteIndex.lean

Nyll.AlgebraicCurves.Geometry.AbelianSchemes.Theorems.RelativeGroupLaw_exists_isOpenImmersion_irreducibleSpace_range_eq_connectedComponent_finiteIndex
92 declarations indexed from sourceView source ↗

The identity component of a smooth relative group

The identity component is an irreducible open subgroup of finite index.

Declarations

AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const

The constant point over a scheme determined by a rational point.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def const {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (s : SchemeHomOver pt gN) :
    SchemeHomOver t gN
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const_coe
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem const_coe {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (s : SchemeHomOver pt gN) :
    (const t s).1 = t ≫ s.1
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const_pt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem const_pt (s : SchemeHomOver pt gN) : const pt s = s
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const_transition
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem const_transition {T T' : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (t' : T' ⟶ Spec (CommRingCat.of k)) (ψ : T' ⟶ T) (hψ : ψ ≫ t = t')
    (s : SchemeHomOver pt gN) :
    GoodReductionJacobian.schemeHomOverComp ψ hψ (const t s) = const t' s
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const_mul
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem const_mul {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (s s' : SchemeHomOver pt gN) :
    const t (LN.mul pt s s') = LN.mul t (const t s) (const t s')
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.const_one
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem const_one {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) :
    const t (LN.one pt) = LN.one t
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.inv_natural
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem inv_natural {T T' : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (t' : T' ⟶ Spec (CommRingCat.of k)) (ψ : T' ⟶ T) (hψ : ψ ≫ t = t')
    (x : SchemeHomOver t gN) :
    GoodReductionJacobian.schemeHomOverComp ψ hψ (LN.inv t x) =
      LN.inv t' (GoodReductionJacobian.schemeHomOverComp ψ hψ x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.transl

Translation by a rational point.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def transl (s : SchemeHomOver pt gN) : N ⟶ N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.comp_transl
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem comp_transl {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (x : SchemeHomOver t gN)
    (s : SchemeHomOver pt gN) : x.1 ≫ transl LN s = (LN.mul t (const t s) x).1
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.transl_one
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem transl_one : transl LN (LN.one pt) = 𝟙 N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.transl_comp
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem transl_comp (s s' : SchemeHomOver pt gN) :
    transl LN s ≫ transl LN s' = transl LN (LN.mul pt s' s)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIso_transl
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
instance isIso_transl (s : SchemeHomOver pt gN) : IsIso (transl LN s)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.clpt

The image of the unique closed point under a rational point.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
abbrev clpt (x : SchemeHomOver pt gN) : N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.transl_clpt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem transl_clpt (x s : SchemeHomOver pt gN) :
    transl LN s (clpt x) = clpt (LN.mul pt s x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_coe_eq
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_coe_eq (x : SchemeHomOver pt gN) : Set.range x.1 = {clpt x}
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.invN

The inversion morphism of the relative group law.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def invN : N ⟶ N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.comp_invN
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem comp_invN {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (x : SchemeHomOver t gN) :
    x.1 ≫ invN LN = (LN.inv t x).1
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.invN_invN
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem invN_invN : invN LN ≫ invN LN = 𝟙 N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIso_invN
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
instance isIso_invN : IsIso (invN LN)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.invN_clpt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Maps
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem invN_clpt (x : SchemeHomOver pt gN) : invN LN (clpt x) = clpt (LN.inv pt x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.image_mem_irreducibleComponents
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Topology
variable {α β : Type*} [TopologicalSpace α] [TopologicalSpace β]
theorem image_mem_irreducibleComponents (h : α ≃ₜ β) {Z : Set α}
    (hZ : Z ∈ irreducibleComponents α) : h '' Z ∈ irreducibleComponents β
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.redSub

The reduced closed subscheme associated to a closed subset.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
abbrev redSub (Z : Closeds N) : Scheme.{u}
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.redι

The inclusion of the reduced closed subscheme.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
abbrev redι (Z : Closeds N) : redSub Z ⟶ N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isReduced_redSub
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
instance isReduced_redSub (Z : Closeds N) : IsReduced (redSub Z)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_redι
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem range_redι (Z : Closeds N) : Set.range (redι Z) = (Z : Set N)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.redLift

Factor a morphism from a reduced scheme through a closed reduced subscheme.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
def redLift (Z : Closeds N) {T : Scheme.{u}} [IsReduced T] (f : T ⟶ N)
    (hf : Set.range f ⊆ Z) : T ⟶ redSub Z
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.redLift_ι
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem redLift_ι (Z : Closeds N) {T : Scheme.{u}} [IsReduced T] (f : T ⟶ N)
    (hf : Set.range f ⊆ Z) : redLift Z f hf ≫ redι Z = f
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.irreducibleSpace_redSub
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem irreducibleSpace_redSub {Z : Closeds N} (hZ : IsIrreducible (Z : Set N)) :
    IrreducibleSpace (redSub Z)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIntegral_redSub
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem isIntegral_redSub {Z : Closeds N} (hZ : IsIrreducible (Z : Set N)) :
    IsIntegral (redSub Z)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ratLift

Lift a rational point into its closed reduced subscheme.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
def ratLift (Z : Closeds N) (s : SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) gN)
    (hs : clpt s ∈ (Z : Set N)) :
    Spec (CommRingCat.of k) ⟶ redSub Z
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ratLift_ι
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem ratLift_ι (Z : Closeds N) (s : SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) gN)
    (hs : clpt s ∈ (Z : Set N)) : ratLift Z s hs ≫ redι Z = s.1
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ratLift_over
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Component
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
open AlgebraicGeometry.Scheme.IdealSheafData
theorem ratLift_over (Z : Closeds N) (s : SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) gN)
    (hs : clpt s ∈ (Z : Set N)) : ratLift Z s hs ≫ redι Z ≫ gN = 𝟙 _
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.mulMap

The multiplication morphism restricted to two reduced closed subschemes.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Mul
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def mulMap (C₁ C₂ : Closeds N) : pullback (redι C₁ ≫ gN) (redι C₂ ≫ gN) ⟶ N
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.lift_mulMap
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Mul
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem lift_mulMap (C₁ C₂ : Closeds N) {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (a : T ⟶ redSub C₁) (b : T ⟶ redSub C₂) (ha : a ≫ redι C₁ ≫ gN = t)
    (hb : b ≫ redι C₂ ≫ gN = t) :
    pullback.lift a b (ha.trans hb.symm) ≫ mulMap LN C₁ C₂ =
      (LN.mul t ⟨a ≫ redι C₁, by simpa using ha⟩ ⟨b ≫ redι C₂, by simpa using hb⟩).1 := by
  have hψ : pullback.lift a b (ha.trans hb.symm) ≫
      (pullback.fst (redι C₁ ≫ gN) (redι C₂ ≫ gN) ≫ redι C₁ ≫ gN) = t := by
    rw [pullback.lift_fst_assoc, ha]
  have hnat := LN.mul_natural _ t (pullback.lift a b (ha.trans hb.symm)) hψ
    ⟨pullback.fst _ _ ≫ redι C₁, by simp⟩
    ⟨pullback.snd _ _ ≫ redι C₂, by simpa using pullback.condition.symm⟩
  have h1 : GoodReductionJacobian.schemeHomOverComp (pullback.lift a b (ha.trans hb.symm)) hψ
      (⟨pullback.fst _ _ ≫ redι C₁, by simp⟩ : SchemeHomOver _ gN) =
      ⟨a ≫ redι C₁, by simpa using ha⟩ :=
    Subtype.ext (by rw [GoodReductionJacobian.schemeHomOverComp_coe, ← Category.assoc,
      pullback.lift_fst])
  have h2 : GoodReductionJacobian.schemeHomOverComp (pullback.lift a b (ha.trans hb.symm)) hψ
      (⟨pullback.snd _ _ ≫ redι C₂, by simpa using pullback.condition.symm⟩ :
        SchemeHomOver _ gN) =
      ⟨b ≫ redι C₂, by simpa using hb⟩ :=
    Subtype.ext (by rw [GoodReductionJacobian.schemeHomOverComp_coe, ← Category.assoc,
      pullback.lift_snd])
  rw [h1, h2] at hnat
  exact congrArg Subtype.val hnat
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.one_mem_range_mulMap
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Mul
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem one_mem_range_mulMap (C₁ C₂ : Closeds N) (e₁ : clpt (LN.one pt) ∈ (C₁ : Set N))
    (e₂ : clpt (LN.one pt) ∈ (C₂ : Set N)) :
    clpt (LN.one pt) ∈ Set.range (mulMap LN C₁ C₂)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIntegral_pullback_redι
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Mul
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [IsAlgClosed k] [LocallyOfFiniteType gN]
instance isIntegral_pullback_redι (C₁ C₂ : Closeds N) [Fact (IsIrreducible (C₁ : Set N))]
    [Fact (IsIrreducible (C₂ : Set N))] : IsIntegral (pullback (redι C₁ ≫ gN) (redι C₂ ≫ gN))
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIrreducible_range_mulMap
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Mul
variable {k : Type u} [Field k] {N : Scheme.{u}} {gN : N ⟶ Spec (CommRingCat.of k)}
  (LN : RelativeGroupLaw k gN)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [IsAlgClosed k] [LocallyOfFiniteType gN]
theorem isIrreducible_range_mulMap (C₁ C₂ : Closeds N) (h₁ : IsIrreducible (C₁ : Set N))
    (h₂ : IsIrreducible (C₂ : Set N)) : IsIrreducible (Set.range (mulMap LN C₁ C₂))
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.idComp

The closed connected component of the identity.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def idComp : Closeds G
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.idComp_mem
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
omit [IsAlgClosed k] [LocallyOfFiniteType f] in
theorem idComp_mem : (idComp L : Set G) ∈ irreducibleComponents G
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.one_mem_idComp
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
omit [IsAlgClosed k] [LocallyOfFiniteType f] in
theorem one_mem_idComp : clpt (L.one pt) ∈ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isIrreducible_idComp
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
omit [IsAlgClosed k] [LocallyOfFiniteType f] in
theorem isIrreducible_idComp : IsIrreducible (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.eq_idComp_of_one_mem
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem eq_idComp_of_one_mem {Z : Set G} (hZ : Z ∈ irreducibleComponents G)
    (he : clpt (L.one pt) ∈ Z) : Z = idComp L
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.subset_idComp_of_isIrreducible
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem subset_idComp_of_isIrreducible {W : Set G} (hW : IsIrreducible W)
    (he : clpt (L.one pt) ∈ W) : W ⊆ idComp L
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.exists_clpt_mem_of_isClosed
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem exists_clpt_mem_of_isClosed {Z : Set G} (hZ : IsClosed Z) (hne : Z.Nonempty) :
    ∃ s : SchemeHomOver pt f, clpt s ∈ Z
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.disjoint_idComp_of_ne
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem disjoint_idComp_of_ne {Z : Set G} (hZ : Z ∈ irreducibleComponents G) (hne : Z ≠ idComp L) :
    Disjoint Z (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.finite_irreducibleComponents
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
include f in
omit [IsAlgClosed k] in
theorem finite_irreducibleComponents : (irreducibleComponents G).Finite
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.compl_idComp_eq
Source context 12 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
omit [QuasiCompact f] in
theorem compl_idComp_eq :
    (idComp L : Set G)ᶜ = ⋃ Z ∈ {Z ∈ irreducibleComponents G | Z ≠ idComp L}, Z
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isOpen_idComp
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
theorem isOpen_idComp : IsOpen (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isClopen_idComp
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
theorem isClopen_idComp : IsClopen (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.U₀

The identity component as an open subset.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
def U₀ : G.Opens
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.G₀

The open subscheme defined by the identity component.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
abbrev G₀ : Scheme.{u}
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ι₀

The inclusion of the identity component.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
abbrev ι₀ : G₀ L ⟶ G
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.f₀

The structure morphism of the identity component.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
abbrev f₀ : G₀ L ⟶ Spec (CommRingCat.of k)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_ι₀
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
theorem range_ι₀ : Set.range (ι₀ L) = (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ι₀_apply_mem
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
theorem ι₀_apply_mem (a : G₀ L) : ι₀ L a ∈ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.irreducibleSpace_G₀
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
instance irreducibleSpace_G₀ : IrreducibleSpace (G₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isClosedImmersion_ι₀
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
instance isClosedImmersion_ι₀ : IsClosedImmersion (ι₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_ι₀_eq_connectedComponent
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section IdComp
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
variable [QuasiCompact f]
theorem range_ι₀_eq_connectedComponent :
    Set.range (ι₀ L) = connectedComponent (clpt (L.one pt))
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG

View a point of the identity component as a point of the ambient group.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def toG {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (x : SchemeHomOver t (f₀ L)) :
    SchemeHomOver t f
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_coe
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_coe {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (x : SchemeHomOver t (f₀ L)) :
    (toG L x).1 = x.1 ≫ ι₀ L
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_injective
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_injective {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} :
    Function.Injective (toG L (T := T) (t := t))
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_transition
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_transition {T T' : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (t' : T' ⟶ Spec (CommRingCat.of k)) (ψ : T' ⟶ T) (hψ : ψ ≫ t = t')
    (x : SchemeHomOver t (f₀ L)) :
    toG L (GoodReductionJacobian.schemeHomOverComp ψ hψ x) =
      GoodReductionJacobian.schemeHomOverComp ψ hψ (toG L x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.liftPt

Lift a point whose image lies in the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def liftPt {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (y : SchemeHomOver t f)
    (hy : Set.range y.1 ⊆ (idComp L : Set G)) : SchemeHomOver t (f₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_liftPt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_liftPt {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of k)} (y : SchemeHomOver t f)
    (hy : Set.range y.1 ⊆ (idComp L : Set G)) : toG L (liftPt L y hy) = y
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.M

Multiplication of two points in the identity component, viewed in the ambient scheme.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def M : pullback (f₀ L) (f₀ L) ⟶ G
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.lift_M
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem lift_M {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (a b : T ⟶ G₀ L) (ha : a ≫ f₀ L = t) (hb : b ≫ f₀ L = t) :
    pullback.lift a b (ha.trans hb.symm) ≫ M L =
      (L.mul t ⟨a ≫ ι₀ L, by simpa using ha⟩ ⟨b ≫ ι₀ L, by simpa using hb⟩).1 := by
  have hψ : pullback.lift a b (ha.trans hb.symm) ≫ (pullback.fst (f₀ L) (f₀ L) ≫ f₀ L) = t := by
    rw [pullback.lift_fst_assoc, ha]
  have hnat := L.mul_natural _ t (pullback.lift a b (ha.trans hb.symm)) hψ
    ⟨pullback.fst _ _ ≫ ι₀ L, by simp⟩
    ⟨pullback.snd _ _ ≫ ι₀ L, by simpa using pullback.condition.symm⟩
  have h1 : GoodReductionJacobian.schemeHomOverComp (pullback.lift a b (ha.trans hb.symm)) hψ
      (⟨pullback.fst _ _ ≫ ι₀ L, by simp⟩ : SchemeHomOver _ f) =
      ⟨a ≫ ι₀ L, by simpa using ha⟩ :=
    Subtype.ext (by rw [GoodReductionJacobian.schemeHomOverComp_coe, ← Category.assoc,
      pullback.lift_fst])
  have h2 : GoodReductionJacobian.schemeHomOverComp (pullback.lift a b (ha.trans hb.symm)) hψ
      (⟨pullback.snd _ _ ≫ ι₀ L, by simpa using pullback.condition.symm⟩ : SchemeHomOver _ f) =
      ⟨b ≫ ι₀ L, by simpa using hb⟩ :=
    Subtype.ext (by rw [GoodReductionJacobian.schemeHomOverComp_coe, ← Category.assoc,
      pullback.lift_snd])
  rw [h1, h2] at hnat
  exact congrArg Subtype.val hnat
abbrev

A

L504 ↗
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.A

The reduced closed subscheme underlying the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
abbrev A : Scheme.{u}
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.ιA

The closed inclusion of the reduced identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
abbrev ιA : A L ⟶ G
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.j

The map from the reduced identity component to the open identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def j : A L ⟶ G₀ L
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.j_ι₀
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem j_ι₀ : j L ≫ ι₀ L = ιA L
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_j
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_j : Set.range (j L) = Set.univ
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.φ

The induced map on products of reduced and open identity components.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def φ : pullback (ιA L ≫ f) (ιA L ≫ f) ⟶ pullback (f₀ L) (f₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_φ
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_φ : Set.range (φ L) = Set.univ
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.φ_M
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem φ_M : φ L ≫ M L = mulMap L (idComp L) (idComp L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_M_subset
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_M_subset : Set.range (M L) ⊆ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_mul_toG_subset
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_mul_toG_subset {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (x y : SchemeHomOver t (f₀ L)) :
    Set.range (L.mul t (toG L x) (toG L y)).1 ⊆ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_one_subset
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
omit [QuasiCompact f] [IsAlgClosed k] [LocallyOfFiniteType f] in
theorem range_one_subset {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) :
    Set.range (L.one t).1 ⊆ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_ι₀_invN_subset
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_ι₀_invN_subset : Set.range (ι₀ L ≫ invN L) ⊆ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.range_inv_toG_subset
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem range_inv_toG_subset {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (x : SchemeHomOver t (f₀ L)) :
    Set.range (L.inv t (toG L x)).1 ⊆ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.mulPt

Multiplication of points in the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def mulPt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (x y : SchemeHomOver t (f₀ L)) :
    SchemeHomOver t (f₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_mulPt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_mulPt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (x y : SchemeHomOver t (f₀ L)) :
    toG L (mulPt L t x y) = L.mul t (toG L x) (toG L y)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.onePt

The identity point in the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def onePt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) : SchemeHomOver t (f₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_onePt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_onePt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) :
    toG L (onePt L t) = L.one t
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.invPt

Inversion of points in the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def invPt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (x : SchemeHomOver t (f₀ L)) :
    SchemeHomOver t (f₀ L)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_invPt
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_invPt {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (x : SchemeHomOver t (f₀ L)) : toG L (invPt L t x) = L.inv t (toG L x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.law₀

The relative group law induced on the identity component.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
def law₀ : RelativeGroupLaw k (f₀ L) where
  mul t x y := mulPt L t x y
  one t := onePt L t
  inv t x := invPt L t x
  mul_assoc t x y z := by
    apply toG_injective L
    simp only [toG_mulPt]
    exact L.mul_assoc t _ _ _
  one_mul t x := by
    apply toG_injective L
    simp only [toG_mulPt, toG_onePt]
    exact L.one_mul t _
  mul_one t x := by
    apply toG_injective L
    simp only [toG_mulPt, toG_onePt]
    exact L.mul_one t _
  inv_mul_cancel t x := by
    apply toG_injective L
    simp only [toG_mulPt, toG_invPt, toG_onePt]
    exact L.inv_mul_cancel t _
  mul_natural t t' ψ hψ x y := by
    apply toG_injective L
    rw [toG_transition]
    simp only [toG_mulPt]
    rw [L.mul_natural t t' ψ hψ, toG_transition, toG_transition]
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.toG_law₀_mul
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem toG_law₀_mul {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k))
    (x y : SchemeHomOver t (f₀ L)) :
    toG L ((law₀ L).mul t x y) = L.mul t (toG L x) (toG L y)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.hom_ι₀
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem hom_ι₀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (x y : SchemeHomOver t (f₀ L)) :
    NeronModelInfra.schemeHomOverComp ((law₀ L).mul t x y) (⟨ι₀ L, rfl⟩ : SchemeHomOver (f₀ L) f) =
      L.mul t (NeronModelInfra.schemeHomOverComp x (⟨ι₀ L, rfl⟩ : SchemeHomOver (f₀ L) f))
        (NeronModelInfra.schemeHomOverComp y (⟨ι₀ L, rfl⟩ : SchemeHomOver (f₀ L) f))
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.isCommutative_law₀
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section Law
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem isCommutative_law₀ (hc : L.IsCommutative) : (law₀ L).IsCommutative
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.clpt_mul_inv_mem_idComp
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section FiniteIndex
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
omit [QuasiCompact f] in
theorem clpt_mul_inv_mem_idComp (x s : SchemeHomOver pt f) {Z : Set G}
    (hZ : Z ∈ irreducibleComponents G) (hx : clpt x ∈ Z) (hs : clpt s ∈ Z) :
    clpt (L.mul pt (L.inv pt s) x) ∈ (idComp L : Set G)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.IdentityComponentFiniteIndex.P2mIdentityComponent.exists_finite_cosets
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace IdentityComponentFiniteIndex
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
noncomputable section
universe u
namespace P2mIdentityComponent
section FiniteIndex
variable {k : Type u} [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
  [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f)
local notation "pt" => 𝟙 (Spec (CommRingCat.of k))
theorem exists_finite_cosets :
    ∃ S : Set (SchemeHomOver pt f), S.Finite ∧
      ∀ x : SchemeHomOver pt f, ∃ s ∈ S, ∃ a : SchemeHomOver pt (f₀ L),
        x = L.mul pt s (NeronModelInfra.schemeHomOverComp a (⟨ι₀ L, rfl⟩ : SchemeHomOver (f₀ L) f))
GoodReductionJacobian.RelativeGroupLaw.exists_isOpenImmersion_irreducibleSpace_range_eq_connectedComponent_finiteIndex
Source context 6 commands

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

section ProofImplementation
open AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
open IdentityComponentFiniteIndex.P2mIdentityComponent
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
  TopologicalSpace
namespace GoodReductionJacobian.RelativeGroupLaw
universe u
theorem exists_isOpenImmersion_irreducibleSpace_range_eq_connectedComponent_finiteIndex
    (k : Type u) [Field k] [IsAlgClosed k] {G : Scheme.{u}} {f : G ⟶ Spec (CommRingCat.of k)}
    [LocallyOfFiniteType f] [QuasiCompact f] (L : RelativeGroupLaw k f) :
    ∃ (G₀ : Scheme.{u}) (i : G₀ ⟶ G) (L₀ : RelativeGroupLaw k (i ≫ f)),
      IsOpenImmersion i ∧ IsClosedImmersion i ∧ IrreducibleSpace G₀ ∧
      Set.range i =
        connectedComponent ((L.one (𝟙 (Spec (CommRingCat.of k)))).1 (IsLocalRing.closedPoint k)) ∧
      (∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of k)) (x y : SchemeHomOver t (i ≫ f)),
        NeronModelInfra.schemeHomOverComp (L₀.mul t x y) (⟨i, rfl⟩ : SchemeHomOver (i ≫ f) f) =
          L.mul t (NeronModelInfra.schemeHomOverComp x (⟨i, rfl⟩ : SchemeHomOver (i ≫ f) f))
            (NeronModelInfra.schemeHomOverComp y (⟨i, rfl⟩ : SchemeHomOver (i ≫ f) f))) ∧
      (L.IsCommutative → L₀.IsCommutative) ∧
      ∃ S : Set (SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) f), S.Finite ∧
        ∀ x : SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) f,
          ∃ s ∈ S, ∃ a : SchemeHomOver (𝟙 (Spec (CommRingCat.of k))) (i ≫ f),
            x = L.mul (𝟙 (Spec (CommRingCat.of k))) s
              (NeronModelInfra.schemeHomOverComp a (⟨i, rfl⟩ : SchemeHomOver (i ≫ f) f))