Module

AdicCoverTower.lean

Nyll.EtaleFundamentalGroups.FiniteEtale.AdicCoverTower
27 declarations indexed from sourceView source ↗

The actual adic tower of a finite étale closed-fibre cover

Starting from a finite étale cover of X × Spec (A / I), successive thickening invariance constructs covers of X × Spec (A / I^(n+1)). The transition morphisms are obtained from the actual Limits.pullback recovery isomorphisms, and their squares are proved cartesian.

This supplies the finite-cover system used in the proof of Stacks 0A48/0GS2 before applying 09ZT. It does not construct a cover of X; the effectivity step of Grothendieck existence is a separate, still required theorem.

Mathematical sources: https://stacks.math.columbia.edu/tag/0A48 https://stacks.math.columbia.edu/tag/0GS2 https://stacks.math.columbia.edu/tag/09ZT

Imports13
  • Nyll.EtaleFundamentalGroups.FiniteEtale.Thickening
  • Mathlib.AlgebraicGeometry.Morphisms.Proper
  • Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion
  • Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap
  • Mathlib.CategoryTheory.EssentialImage
  • Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
  • Mathlib.CategoryTheory.MorphismProperty.Comma
  • Mathlib.CategoryTheory.MorphismProperty.Composition
  • Mathlib.CategoryTheory.MorphismProperty.OverAdjunction
  • Mathlib.RingTheory.Ideal.Operations
  • Mathlib.RingTheory.Ideal.Quotient.Defs
  • Mathlib.RingTheory.Nilpotent.Lemmas
  • Mathlib.RingTheory.Spectrum.Prime.Topology
Imported by1

Declarations

AlgebraicGeometry.FiniteEtale.AdicCoverTower.finiteEtaleInfStableUnderBaseChangeAdicTower
Source context 4 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.levelIdeal

Positive ideal powers, with the zeroth entry literally the given ideal.

Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
def levelIdeal (I : Ideal A) : ℕ → Ideal A
  | 0 => I
  | n + 1 => levelIdeal I n * I
AlgebraicGeometry.FiniteEtale.AdicCoverTower.levelIdeal_eq_pow
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem levelIdeal_eq_pow (I : Ideal A) (n : ℕ) : levelIdeal I n = I ^ (n + 1)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.levelIdeal_succ_le
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem levelIdeal_succ_le (I : Ideal A) (n : ℕ) :
    levelIdeal I (n + 1) ≤ levelIdeal I n
AlgebraicGeometry.FiniteEtale.AdicCoverTower.base

The actual quotient spectrum at the n+1-st ideal power.

Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
def base (I : Ideal A) (n : ℕ) : Scheme.{u}
AlgebraicGeometry.FiniteEtale.AdicCoverTower.baseInclusion

The actual closed immersion from an ideal-power quotient spectrum.

Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
def baseInclusion (I : Ideal A) (n : ℕ) : base I n ⟶ Spec (CommRingCat.of A)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.baseTransition

The quotient map induces the successive nilpotent thickening.

Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
def baseTransition (I : Ideal A) (n : ℕ) : base I n ⟶ base I (n + 1)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.baseTransition_comp
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem baseTransition_comp (I : Ideal A) (n : ℕ) :
    baseTransition I n ≫ baseInclusion I (n + 1) = baseInclusion I n
AlgebraicGeometry.FiniteEtale.AdicCoverTower.baseTransition_isClosedImmersion
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem baseTransition_isClosedImmersion (I : Ideal A) (n : ℕ) :
    IsClosedImmersion (baseTransition I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.factor_ker_le_nilradical
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem factor_ker_le_nilradical (I : Ideal A) (n : ℕ) :
    RingHom.ker (Ideal.Quotient.factor (levelIdeal_succ_le I n)) ≤
      nilradical (A ⧸ levelIdeal I (n + 1))
AlgebraicGeometry.FiniteEtale.AdicCoverTower.baseTransition_surjective
Source context 6 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
theorem baseTransition_surjective (I : Ideal A) (n : ℕ) :
    Surjective (baseTransition I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.level

The actual base change of X at level n+1.

Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
abbrev level (n : ℕ) : Scheme.{u}
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition

The morphism between the actual successive base changes.

Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
def transition (n : ℕ) : level f I n ⟶ level f I (n + 1)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition_fst
Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem transition_fst (n : ℕ) :
    transition f I n ≫ Limits.pullback.fst f (baseInclusion I (n + 1)) =
      Limits.pullback.fst f (baseInclusion I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition_snd
Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem transition_snd (n : ℕ) :
    transition f I n ≫ Limits.pullback.snd f (baseInclusion I (n + 1)) =
      Limits.pullback.snd f (baseInclusion I n) ≫ baseTransition I n
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition_isPullback
Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem transition_isPullback (n : ℕ) :
    IsPullback (transition f I n) (Limits.pullback.snd f (baseInclusion I n))
      (Limits.pullback.snd f (baseInclusion I (n + 1))) (baseTransition I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition_isClosedImmersion
Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem transition_isClosedImmersion (n : ℕ) :
    IsClosedImmersion (transition f I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.transition_surjective
Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem transition_surjective (n : ℕ) :
    Surjective (transition f I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.cover

The covers are constructed by recursion from the supplied closed-fibre cover.

Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
def cover (n : ℕ) :
    MorphismProperty.Over
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.cover_zero
Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
theorem cover_zero : cover f I V 0 = V
AlgebraicGeometry.FiniteEtale.AdicCoverTower.coverRecoveryIso

The chosen lifts recover the previous level under the literal pullback functor.

Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
def coverRecoveryIso (n : ℕ) :
    (MorphismProperty.Over.pullback
          ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (transition f I n)).obj
        (cover f I V (n + 1)) ≅
      cover f I V n
AlgebraicGeometry.FiniteEtale.AdicCoverTower.underlyingRecoveryIso

The recovery isomorphism on the actual underlying pullback schemes.

Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
def underlyingRecoveryIso (n : ℕ) :
    Limits.pullback (cover f I V (n + 1)).hom (transition f I n) ≅ (cover f I V n).left
AlgebraicGeometry.FiniteEtale.AdicCoverTower.recovery_inv_snd
Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
theorem recovery_inv_snd (n : ℕ) :
    (underlyingRecoveryIso f I V n).inv ≫
        Limits.pullback.snd (cover f I V (n + 1)).hom (transition f I n) =
      (cover f I V n).hom
AlgebraicGeometry.FiniteEtale.AdicCoverTower.coverTransition

The actual scheme morphism joining consecutive lifted covers.

Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
def coverTransition (n : ℕ) :
    (cover f I V n).left ⟶ (cover f I V (n + 1)).left
AlgebraicGeometry.FiniteEtale.AdicCoverTower.coverTransition_comm
Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
theorem coverTransition_comm (n : ℕ) :
    coverTransition f I V n ≫ (cover f I V (n + 1)).hom =
      (cover f I V n).hom ≫ transition f I n
AlgebraicGeometry.FiniteEtale.AdicCoverTower.coverTransition_isPullback

Every successor square in the constructed cover tower is cartesian.

Source context 9 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
section LiftedCover
variable (V : MorphismProperty.Over
  ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I 0))
theorem coverTransition_isPullback (n : ℕ) :
    IsPullback (coverTransition f I V n) (cover f I V n).hom
      (cover f I V (n + 1)).hom (transition f I n)
AlgebraicGeometry.FiniteEtale.AdicCoverTower.exists_proper_finiteEtale_cover_tower

For a proper original scheme this is the actual finite-cover input of 09ZT. No completeness or Noetherian hypothesis is needed to construct the tower itself.

Source context 7 commands

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

@[expose] public noncomputable section
open CategoryTheory CategoryTheory.Limits
universe u
namespace AlgebraicGeometry.FiniteEtale.AdicCoverTower
local instance finiteEtaleInfStableUnderBaseChangeAdicTower :
    MorphismProperty.IsStableUnderBaseChange
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) :=
  MorphismProperty.IsStableUnderBaseChange.inf
variable {A : Type u} [CommRing A]
variable {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of A)) (I : Ideal A)
theorem exists_proper_finiteEtale_cover_tower [IsProper f]
    (V : MorphismProperty.Over
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤
      (Limits.pullback f (Spec.map (CommRingCat.ofHom (Ideal.Quotient.mk I))))) :
    ∃ W : (n : ℕ) → MorphismProperty.Over
      ((@IsFinite : MorphismProperty Scheme.{u}) ⊓ @Etale) ⊤ (level f I n),
      ∃ r : (n : ℕ) → (W n).left ⟶ (W (n + 1)).left,
        W 0 = V ∧
        (∀ n : ℕ, IsPullback (r n) (W n).hom (W (n + 1)).hom (transition f I n)) ∧
        (∀ n : ℕ, IsProper ((W n).hom ≫ Limits.pullback.snd f (baseInclusion I n)))