Documentation

LeanPool.Ado.Algebra.WordFiltration.Basic

The word filtration generated by a linear map #

Let A be an associative algebra and let f : M →ₗ[R] A be a linear family of elements of A. This file defines Ado.Algebra.wordFiltration f k, the submodule spanned by products of at most k elements in the range of f. This is the canonical increasing filtration on any algebra generated by a linear family.

The construction is factored out of the Clifford and universal-enveloping-algebra filtrations. In both cases the defining relations can lower word length, so the quotient is filtered rather than graded by length. The generic construction records the properties independent of those relations: monotonicity, multiplicativity, the first two steps, comparison with powers of the range of f, and exhaustivity onto the subalgebra generated by f.

Main definitions and results #

def Ado.Algebra.wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :

The degree filtration generated by a linear map f : M →ₗ[R] A.

The k-th step is the k-th submodule power of the scalars together with the range of f. It is equivalently the R-span of products of at most k elements in the range of f, including the empty product; see wordFiltration_le_iff.

Equations
Instances For
    theorem Ado.Algebra.wordFiltration_eq_pow {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :
    wordFiltration f k = (1 ⊔ f.range) ^ k

    The defining equation of the word filtration: degree k is the k-th submodule power of the scalars together with the range of f.

    def Ado.Algebra.wordFiltrationPrevious {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) :
    ℕ → Submodule R A

    The step preceding degree k, with bottom in degree zero.

    Equations
    Instances For
      @[simp]

      The preceding word filtration is trivial in degree zero.

      @[simp]
      theorem Ado.Algebra.wordFiltrationPrevious_succ {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :

      In successor degree, the preceding word filtration is the previous filtration step.

      theorem Ado.Algebra.prod_map_mem_range_pow {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (l : List M) :
      (List.map (⇑f) l).prod ∈ f.range ^ l.length

      A word of length n lies in the n-th power of the range of the generators.

      theorem Ado.Algebra.span_prod_map_eq_range_pow_of_span {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {ι : Type u_1} (e : ι → M) (he : Submodule.span R (Set.range e) = ⊤) (n : ℕ) :
      Submodule.span R {a : A | ∃ (l : List ι), l.length = n ∧ (List.map (fun (i : ι) => f (e i)) l).prod = a} = f.range ^ n

      Words of length exactly n in a spanning family span the n-th power of the generator range.

      theorem Ado.Algebra.span_prod_map_eq_range_pow {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (n : ℕ) :
      Submodule.span R {a : A | ∃ (l : List M), l.length = n ∧ (List.map (⇑f) l).prod = a} = f.range ^ n

      Words of length exactly n span the n-th power of the generator range.

      theorem Ado.Algebra.prod_map_mem_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {k : ℕ} {l : List M} (hl : l.length ≤ k) :

      A word of length at most k belongs to the k-th word-filtration step.

      theorem Ado.Algebra.wordFiltration_le_iff {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {k : ℕ} {p : Submodule R A} :
      wordFiltration f k ≤ p ↔ ∀ (l : List M), l.length ≤ k → (List.map (⇑f) l).prod ∈ p

      A submodule contains the k-th filtration step exactly when it contains every word of length at most k.

      theorem Ado.Algebra.span_prod_map_eq_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {ι : Type u_1} (e : ι → M) (he : Submodule.span R (Set.range e) = ⊤) (k : ℕ) :
      Submodule.span R {a : A | ∃ (word : List ι), word.length ≤ k ∧ (List.map (fun (i : ι) => f (e i)) word).prod = a} = wordFiltration f k

      Products of at most k images of a spanning family span the k-th word-filtration step.

      theorem Ado.Algebra.map_wordFiltration_le {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {N : Type u_1} {B : Type u_2} [Semiring B] [Algebra R B] [AddCommMonoid N] [Module R N] (g : A →ₐ[R] B) (f' : N →ₗ[R] B) (h : ∀ (m : M), g (f m) ∈ wordFiltration f' 1) (k : ℕ) :

      An algebra homomorphism that sends each source generator into target filtration degree one preserves word-filtration degree.

      theorem Ado.Algebra.map_mem_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {N : Type u_1} {B : Type u_2} [Semiring B] [Algebra R B] [AddCommMonoid N] [Module R N] (g : A →ₐ[R] B) (f' : N →ₗ[R] B) (h : ∀ (m : M), g (f m) ∈ wordFiltration f' 1) {k : ℕ} {x : A} (hx : x ∈ wordFiltration f k) :

      The membership form of map_wordFiltration_le: an algebra homomorphism that sends source generators into target filtration degree one preserves every filtration step.

      theorem Ado.Algebra.map_wordFiltration_eq {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {N : Type u_1} {B : Type u_2} [Semiring B] [Algebra R B] [AddCommMonoid N] [Module R N] (g : A →ₐ[R] B) (f' : N →ₗ[R] B) (h : Submodule.map g.toLinearMap (1 ⊔ f.range) = 1 ⊔ f'.range) (k : ℕ) :

      An algebra homomorphism that maps one scalar-and-generator submodule exactly onto another maps every corresponding word-filtration step exactly onto the other.

      theorem Ado.Algebra.map_wordFiltration_eq_of_surjective {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {N : Type u_1} {B : Type u_2} [Semiring B] [Algebra R B] [AddCommMonoid N] [Module R N] (q : M →ₗ[R] N) (hq : Function.Surjective ⇑q) (g : A →ₐ[R] B) (f' : N →ₗ[R] B) (h : g.toLinearMap ∘ₗ f = f' ∘ₗ q) (k : ℕ) :

      A compatible algebra homomorphism maps every word-filtration step onto the corresponding target step when its map on the generating modules is surjective.

      theorem Ado.Algebra.wordFiltration_mono {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) :

      The word filtration is increasing.

      @[simp]
      theorem Ado.Algebra.wordFiltration_zero {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) :

      The zeroth word-filtration step consists of the scalars.

      theorem Ado.Algebra.one_mem_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :

      The empty word puts 1 in every filtration step.

      theorem Ado.Algebra.algebraMap_mem_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (r : R) (k : ℕ) :

      Every scalar belongs to every filtration step.

      theorem Ado.Algebra.apply_mem_wordFiltration_one {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (m : M) :

      Each generator belongs to the first filtration step.

      theorem Ado.Algebra.range_le_wordFiltration_one {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) :

      The range of the generating linear map lies in the first filtration step.

      theorem Ado.Algebra.wordFiltration_mul {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (i j : ℕ) :

      Multiplication adds word-filtration degrees. In fact the product of the two filtration steps equals the step in the sum degree.

      theorem Ado.Algebra.mul_mem_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {i j : ℕ} {x y : A} (hx : x ∈ wordFiltration f i) (hy : y ∈ wordFiltration f j) :
      x * y ∈ wordFiltration f (i + j)

      The elementwise multiplicativity of the word filtration.

      theorem Ado.Algebra.mul_mem_wordFiltrationPrevious_left {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {i j : ℕ} {x y : A} (hx : x ∈ wordFiltrationPrevious f i) (hy : y ∈ wordFiltration f j) :

      Multiplying an element of degree strictly below i by an element of degree at most j produces an element of degree strictly below i + j.

      theorem Ado.Algebra.mul_mem_wordFiltrationPrevious_right {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {i j : ℕ} {x y : A} (hx : x ∈ wordFiltration f i) (hy : y ∈ wordFiltrationPrevious f j) :

      Multiplying an element of degree at most i by an element of degree strictly below j produces an element of degree strictly below i + j.

      theorem Ado.Algebra.range_pow_le_wordFiltration {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (n : ℕ) :

      The n-th power of the generator range lies in filtration degree n.

      theorem Ado.Algebra.wordFiltration_eq_iSup_pow {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :
      wordFiltration f k = ⨆ (i : { i : ℕ // i ≤ k }), f.range ^ ↑i

      The k-th word-filtration step is the supremum of the powers of the generator range of degree at most k.

      theorem Ado.Algebra.wordFiltration_succ_eq_sup {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :
      wordFiltration f (k + 1) = wordFiltration f k ⊔ f.range ^ (k + 1)

      The successor filtration step adjoins words of exactly the new degree.

      @[simp]
      theorem Ado.Algebra.wordFiltration_one {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) :
      wordFiltration f 1 = 1 ⊔ f.range

      The first filtration step consists of the scalars and the generator range.

      theorem Ado.Algebra.wordFiltration_pow {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (i n : ℕ) :

      Powers of a filtration step multiply its degree.

      The word filtration exhausts exactly the subalgebra generated by the range of f.

      theorem Ado.Algebra.exists_mem_wordFiltration_of_iSup_eq_top {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (h : ⨆ (k : ℕ), wordFiltration f k = ⊤) (a : A) :
      ∃ (k : ℕ), a ∈ wordFiltration f k

      An exhaustive word filtration covers the algebra elementwise: if the filtration steps supremum to ⊤, every element lies in one of them.

      theorem Ado.Algebra.exists_mem_notMem_wordFiltrationPrevious {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {a : A} (ha : a ≠ 0) (hex : ∃ (k : ℕ), a ∈ wordFiltration f k) :
      ∃ (k : ℕ), a ∈ wordFiltration f k ∧ a ∉ wordFiltrationPrevious f k

      A nonzero element of an exhaustive word filtration has a leading degree: a degree it belongs to but whose preceding step it misses.

      @[reducible, inline]
      abbrev Ado.Algebra.wordFiltration.previousRestricted {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) (k : ℕ) :

      The preceding word-filtration step, viewed as a submodule of the current step.

      Equations
      Instances For
        @[simp]

        Membership in the restricted preceding step is ambient membership in the preceding step.

        @[simp]

        The restricted preceding word filtration is trivial in degree zero.

        @[simp]

        In successor degree, the restricted preceding word filtration is the previous step viewed inside the current step.

        @[simp]
        theorem Ado.Algebra.wordFiltration.wordFiltration_coe_cast {R : Type u} {M : Type v} {A : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (f : M →ₗ[R] A) {i j : ℕ} (h : i = j) (x : ↥(wordFiltration f i)) :
        ↑(cast ⋯ x) = ↑x

        Casting a filtered element between equal degrees does not change its value in the ambient algebra.

        Word filtrations are multiplicative families of submodules.

        The word filtration, with the preceding step at each degree, is a ring filtration.