Documentation

LeanPool.RegtsSevenster.RS.Classical.Deligne.KernelPow

The kernel of a tensor power of an epimorphism #

The exactness half of the mixed filtration for Deligne 1.19's extension argument (Catégories tensorielles): if ι : U ⟶ Z covers the kernel of an epimorphism π : Z ⟶ W, then the kernel of π ^ ⊗ m is covered by the images of the word maps of ι and 𝟙 Z with exactly one ι-slot (kernelSubobject_tensorPowMap_le).

The exactness hypothesis. The kernel condition is stated as hker : kernelSubobject π ≤ imageSubobject ι — only the covering half of exactness is consumed, so neither Mono ι nor ι ≫ π = 0 is assumed. For a genuinely exact pair, with Mono ι and hexact : imageSubobject ι = kernelSubobject π, apply the theorems at hker := hexact.ge.

Three layers:

Appended words #

wordAppend is Fin.append: the first word occupies the low block. This matches the orientation of tensorPowConcat and standardWord, whose first factor is also the low block (wordAppend_const_true_false).

def RS.wordAppend {a b : ℕ} (wa : Fin a → Bool) (wb : Fin b → Bool) :
Fin (a + b) → Bool

The appended word: wa on the low block, wb on the high block.

Equations
Instances For
    theorem RS.wordAppend_zero {a : ℕ} (wa : Fin a → Bool) (wb : Fin 0 → Bool) :
    wordAppend wa wb = wa

    Appending the empty word is the identity.

    theorem RS.wordAppend_castSucc {a b : ℕ} (wa : Fin a → Bool) (wb : Fin (b + 1) → Bool) :

    Restricting an appended word restricts the second word.

    theorem RS.wordAppend_last {a b : ℕ} (wa : Fin a → Bool) (wb : Fin (b + 1) → Bool) :
    wordAppend wa wb (Fin.last (a + b)) = wb (Fin.last b)

    The last letter of an appended word is the second word's last letter.

    theorem RS.popCount_wordAppend {a b : ℕ} (wa : Fin a → Bool) (wb : Fin b → Bool) :

    Letter counts add across an appended word.

    theorem RS.wordAppend_const_true_false (p q : ℕ) :
    (wordAppend (fun (x : Fin p) => true) fun (x : Fin q) => false) = standardWord p q

    The sorted word is the all-true word appended to the all-false word: wordAppend's low block matches standardWord's.

    Word powers of appended words #

    theorem RS.wordPow_append_zero {A : Type u} [CategoryTheory.Category.{v, u} A] [CategoryTheory.MonoidalCategory A] (U V : A) {a : ℕ} (wa : Fin a → Bool) (wb : Fin 0 → Bool) :
    wordPow U V (a + 0) (wordAppend wa wb) = wordPow U V a wa

    Appending the empty word does not change the word power.

    theorem RS.wordPow_append_succ {A : Type u} [CategoryTheory.Category.{v, u} A] [CategoryTheory.MonoidalCategory A] (U V : A) {a b : ℕ} (wa : Fin a → Bool) (wb : Fin (b + 1) → Bool) :
    wordPow U V (a + (b + 1)) (wordAppend wa wb) = CategoryTheory.MonoidalCategoryStruct.tensorObj (wordPow U V (a + b) (wordAppend wa (wb ∘ Fin.castSucc))) (bif wb (Fin.last b) then U else V)

    One more letter of the second word tensors the selected object.

    noncomputable def RS.wordPowConcatIso {A : Type u} [CategoryTheory.Category.{v, u} A] [CategoryTheory.MonoidalCategory A] (U V : A) {a : ℕ} (wa : Fin a → Bool) (b : ℕ) (wb : Fin b → Bool) :

    The word powers of an appended word concatenate: the word power of wordAppend wa wb is the tensor of the two word powers, by the recursion of the second word. Built stage by stage, mirror to standardMixedIso, so that consumers can compose with it.

    Equations
    Instances For

      The concatenation square #

      The word map of an appended word is the tensor of the two word maps, followed by the concatenation of the target powers, under wordPowConcatIso. The gluing helpers replicate the private steps of wordMap_standard at general objects, applied by exact, so that no tensor-power arity enters the rewriting.

      The concatenation square: the word map of an appended word is the tensor of the two word maps followed by the concatenation of the pure target powers, under wordPowConcatIso at the source.

      Extended and all-false words #

      The one-slot insertions of the filtration are words extended by Fin.snoc, and the base insertion is an all-false word with one true slot on top. The lemmas mirror the all-true cases of WordMap.lean.

      theorem RS.popCount_snoc {n : ℕ} (w : Fin n → Bool) (y : Bool) :
      popCount (Fin.snoc w y) = popCount w + bif y then 1 else 0

      The letter count of an extended word.

      theorem RS.popCount_const_false (n : ℕ) :
      (popCount fun (x : Fin n) => false) = 0

      The all-false word has no true letters.

      The word power of a false-extended word tensors a Y.

      The word power of a true-extended word tensors an X.

      The word map of a false-extended word tensors a g.

      The word map of a true-extended word tensors an f.

      theorem RS.wordPow_const_false {A : Type u} [CategoryTheory.Category.{v, u} A] [CategoryTheory.MonoidalCategory A] (X Y : A) (n : ℕ) :
      (wordPow X Y n fun (x : Fin n) => false) = tensorPow A Y n

      An all-false word power is a pure power of Y.

      On an all-false word the word map is the pure power of g.

      Concatenation at the level of images #

      Concatenation of word-map images: the tensor of two word maps followed by the target concatenation has the same image as the word map of the appended word — the concatenation square wordMap_append up to the isomorphism wordPowConcatIso of the sources.

      The subobject toolkit #

      Factoring through subobjects in an abelian category: epi descent (factors_of_epi_comp, the monomorphism half of the kernel–cokernel duality), the kernel and image conversions, and the composite-kernel chase kernelSubobject_comp_le_of_cover — the kernel of u ≫ v is covered by the kernel of u together with any b whose image under u covers the kernel of v. This is the extension 0 ⟶ ker u ⟶ ker (u ≫ v) ⟶ ker v of the mixed filtration, phrased through a pullback of the covering epimorphism.

      Epi descent for factorisations: a morphism factors through a subobject as soon as its composite with an epimorphism does. The subobject's arrow is the kernel of its cokernel, so the factorisation is Abelian.monoLift.

      A subobject containing a kernel factors the kernel's arrow.

      A subobject factoring a kernel's arrow contains the kernel.

      A subobject factoring a morphism contains its image.

      The image of a morphism factors it.

      The composite-kernel chase: if the image of b ≫ u covers the kernel of v, then the kernel of u ≫ v is covered by the kernel of u together with the image of b. The kernel arrow of u ≫ v, pushed into Y, factors through the cover; pulling the covering epimorphism back splits the kernel arrow, up to an epimorphism, into a summand through ker u and a summand through b.

      Whiskered epimorphisms and kernels #

      Whiskering preserves epimorphisms and kernels because tensoring is exact in a rigid category (TensorExact.lean).

      The two-factor kernel #

      The kernel of a tensor product of an epimorphism and a morphism is covered by the two one-slot kernel insertions: the whiskered kernels of the factors. The route is the factorisation p₁ ⊗ₘ p₂ = (p₁ ▷ Z₂) ≫ (W₁ ◁ p₂): the kernel of the second factor is covered by the image of Z₁ ◁ kernel.ι p₂ under the first — the whisker exchange against the epimorphism p₁ ▷ kernel p₂ — and the composite-kernel chase concludes.

      The iterated kernel #

      The kernel of π ^ ⊗ m is covered by the one-slot insertions: the word maps of ι and 𝟙 Z at words with exactly one true letter. The induction along tensorPowMap π (m + 1) = tensorPowMap π m ⊗ₘ π transports the inductive cover through the tensor structure, so the cover is kept as a single morphism out of the biproduct of the one-slot word powers (oneSlotCover); the Finset.sup phrasing is recovered at the end.

      noncomputable def RS.oneSlotCover {A : Type u} [CategoryTheory.Category.{v, u} A] [CategoryTheory.MonoidalCategory A] [CategoryTheory.Abelian A] {U Z : A} (ι : U ⟶ Z) (m : ℕ) :
      (⨁ fun (w : { w : Fin m → Bool // popCount w = 1 }) => wordPow U Z m ↑w) ⟶ tensorPow A Z m

      The one-slot cover: the fold of all word maps of ι and 𝟙 Z with exactly one ι-slot, out of the biproduct of their word powers.

      Equations
      Instances For

        The kernel of a tensor power of an epimorphism, cover form: if ι covers the kernel of the epimorphism π, then the kernel of π ^ ⊗ m is covered by the image of the one-slot cover.

        The kernel of a tensor power of an epimorphism: if ι covers the kernel of the epimorphism π : Z ⟶ W, the kernel of π ^ ⊗ m is covered by the join of the images of the word maps of ι and 𝟙 Z over the words with exactly one ι-slot. The join is a Finset.sup: without well-poweredness the subobject lattice carries finite joins, and the index is the finite set of one-slot words.