Multiplicative bases

MultiplicativeBasisDeformations.Foundations.ReductionMesh

Reduction of path categories and mesh relations along a ring map #

For a ring map red : š’Ŗ → k, reduction of coefficients on the linear path categories (redP): it preserves composition, paths and degrees, sends the mesh relations of coefficients Å© to those of c when red ∘ Å© = c, maps the mesh ideal into the mesh ideal, and (for surjective red) every element of the mesh ideal over k lifts to one over š’Ŗ. This is the right exactness used in Lemma B.2 (characteristic-two-mesh-calculations.tex: "Right exactness of tensor product gives coker D_m(Eā‚„) āŠ— š”½ā‚‚ ≅ coker D_m(C⁽²⁾)").

noncomputable def MultiplicativeBasisDeformations.LinearPaths.redP {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} :
(obj x ⟶ obj y) →+ (obj x ⟶ obj y)

Reduction of coefficients of a path combination.

Instances For
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_apply {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} (f : obj x ⟶ obj y) :
    (redP red) f = ofFinsupp (Finsupp.mapRange ⇑red ⋯ (toFinsupp f))
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_smul {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} (a : O) (f : obj x ⟶ obj y) :
    (redP red) (a • f) = red a • (redP red) f
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_path {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} (p : Quiver.Path x y) :
    (redP red) (path p) = path p
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_smul_path {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} (a : O) (p : Quiver.Path x y) :
    (redP red) (a • path p) = red a • path p
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_comp {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y z : V} (f : obj x ⟶ obj y) (g : obj y ⟶ obj z) :
    (redP red) (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp ((redP red) f) ((redP red) g)
    theorem MultiplicativeBasisDeformations.LinearPaths.redP_degreePart {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {x y : V} {n : ā„•} {f : obj x ⟶ obj y} (hf : f ∈ degreePart n x y) :
    (redP red) f ∈ degreePart n x y
    theorem MultiplicativeBasisDeformations.LinearPaths.exists_lift {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] (hred : Function.Surjective ⇑red) {x y : V} {n : ā„•} {g : obj x ⟶ obj y} (hg : g ∈ degreePart n x y) :
    ∃ f ∈ degreePart n x y, (redP red) f = g

    Lifting path combinations, within a degree.

    theorem MultiplicativeBasisDeformations.LinearPaths.exists_lift' {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] (hred : Function.Surjective ⇑red) {x y : V} (g : obj x ⟶ obj y) :
    ∃ (f : obj x ⟶ obj y), (redP red) f = g

    Every path combination lifts.

    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redP_meshRelation {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (x : ↑Q.nonprojective) :
    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redP_mem_ideal {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} {f : LinearPaths.obj X ⟶ LinearPaths.obj Y} (hf : f ∈ (RelSystem.mesh u).ideal (LinearPaths.obj X) (LinearPaths.obj Y)) :

    The mesh ideal reduces into the mesh ideal.

    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.exists_lift_ideal {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (hs : Function.Surjective ⇑red) {X Y : V} {g : LinearPaths.obj X ⟶ LinearPaths.obj Y} (hg : g ∈ (RelSystem.mesh c).ideal (LinearPaths.obj X) (LinearPaths.obj Y)) :
    ∃ f ∈ (RelSystem.mesh u).ideal (LinearPaths.obj X) (LinearPaths.obj Y), (LinearPaths.redP red) f = g

    The mesh ideal lifts.

    Reduction on the scalar mesh categories #

    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.functor_redP_eq {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} {Φ Φ' : LinearPaths.obj X ⟶ LinearPaths.obj Y} (h : (RelationCategory.functor O (meshRelations u)).map Φ = (RelationCategory.functor O (meshRelations u)).map Φ') :
    noncomputable def MultiplicativeBasisDeformations.ScalarMeshCategory.redE {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] (u : MeshCoefficients O Q) (c : MeshCoefficients k Q) {X Y : V} (φ : obj u X ⟶ obj u Y) :
    obj c X ⟶ obj c Y

    Reduction of morphisms of the scalar mesh category.

    Instances For
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_map {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (Φ : LinearPaths.obj X ⟶ LinearPaths.obj Y) :
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_add {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (φ ψ : obj u X ⟶ obj u Y) :
      redE red u c (φ + ψ) = redE red u c φ + redE red u c ψ
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_zero {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} :
      redE red u c 0 = 0
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_sub {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (φ ψ : obj u X ⟶ obj u Y) :
      redE red u c (φ - ψ) = redE red u c φ - redE red u c ψ
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_smul {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (a : O) (φ : obj u X ⟶ obj u Y) :
      redE red u c (a • φ) = red a • redE red u c φ
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_sum {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} {ι : Type u_1} (s : Finset ι) (φ : ι → (obj u X ⟶ obj u Y)) :
      redE red u c (āˆ‘ i ∈ s, φ i) = āˆ‘ i ∈ s, redE red u c (φ i)
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_comp {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y Z : V} (φ : obj u X ⟶ obj u Y) (ψ : obj u Y ⟶ obj u Z) :
      redE red u c (CategoryTheory.CategoryStruct.comp φ ψ) = CategoryTheory.CategoryStruct.comp (redE red u c φ) (redE red u c ψ)
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_pathMor {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (p : Quiver.Path X Y) :
      redE red u c (pathMor u p) = pathMor c p
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_arrowMor {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} (a : X ⟶ Y) :
      redE red u c (arrowMor u a) = arrowMor c a
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redE_degreePart {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {X Y : V} {n : ā„•} {φ : obj u X ⟶ obj u Y} (hφ : φ ∈ degreePart u n X Y) :
      redE red u c φ ∈ degreePart c n X Y
      theorem MultiplicativeBasisDeformations.ScalarMeshCategory.exists_lift_degreePart {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (hs : Function.Surjective ⇑red) {X Y : V} {n : ā„•} {ψ : obj c X ⟶ obj c Y} (hψ : ψ ∈ degreePart c n X Y) :
      ∃ φ ∈ degreePart u n X Y, redE red u c φ = ψ

      Families #

      noncomputable def MultiplicativeBasisDeformations.ScalarMeshCategory.redA {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] (u : MeshCoefficients O Q) (c : MeshCoefficients k Q) (f : ArrowFamily u) :

      Reduction of arrow families.

      Instances For
        noncomputable def MultiplicativeBasisDeformations.ScalarMeshCategory.redF {O : Type u} {k : Type u'} [CommRing O] [CommRing k] (red : O →+* k) {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] (u : MeshCoefficients O Q) (c : MeshCoefficients k Q) (g : MeshFamily u) :

        Reduction of mesh families.

        Instances For
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_meshDerivative {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (f : ArrowFamily u) :
          redF red u c (meshDerivative u f) = meshDerivative c (redA red u c f)
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_add {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (g g' : MeshFamily u) (hred' : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) :
          redF red u c (g + g') = redF red u c g + redF red u c g'
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_smul {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (a : O) (g : MeshFamily u) :
          redF red u c (a • g) = red a • redF red u c g
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_sub {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) (g g' : MeshFamily u) :
          redF red u c (g - g') = redF red u c g - redF red u c g'
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_sum {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) {ι : Type u_1} (s : Finset ι) (g : ι → MeshFamily u) :
          redF red u c (āˆ‘ i ∈ s, g i) = āˆ‘ i ∈ s, redF red u c (g i)
          theorem MultiplicativeBasisDeformations.ScalarMeshCategory.redF_row {O : Type u} {k : Type u'} [CommRing O] [CommRing k] {red : O →+* k} {V : Type v} [Quiver V] {Q : TranslationQuiver V} [(x : V) → Fintype ((y : V) Ɨ (y ⟶ x))] {u : MeshCoefficients O Q} {c : MeshCoefficients k Q} (hred : āˆ€ (x : ↑Q.nonprojective) (y : V) (a : y ⟶ ↑x), red ↑(u x y a) = ↑(c x y a)) [DecidableEq V] (x : ↑Q.nonprojective) (w : Quiver.Path ↑(Q.tau x) ↑x) :
          redF red u c (row u x w) = row c x w