Multiplicative bases

MultiplicativeBasisDeformations.Foundations.StarTwo

Candidate rows killed by two (Lemma B.2 on a periodic star model) #

characteristic-two-mesh-calculations.tex (proof of lem:integral-mesh-cokernels): "The proofs of Lemmas A.1 and A.2 apply over π’ͺ without change … Lemma A.2 gives a surjection from the twisted trace module over π’ͺ onto the integral derivative cokernel."

Over any commutative coefficient ring: on a periodic star model, if the twisted trace of a word Wβ‚€ is killed by two in every twisted trace module, then so is the class of its candidate row (star_two). The coefficients are first normalized (Lemma A.1, which divides only by units); the candidate row is then the trace of Wβ‚€.

def MultiplicativeBasisDeformations.ScalarMeshCategory.TwoRows {V : Type v'} [Quiver V] (Q : TranslationQuiver V) [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] (S : RowSet Q) :

Rows killed by two over every coefficient ring (the form of Lemma B.2 used here): for all coefficients c over a commutative ring O, twice the class of each row is zero.

Instances For
    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.twoRows_empty {V : Type v'} [Quiver V] {Q : TranslationQuiver V} [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] :
    TwoRows Q βˆ…
    theorem MultiplicativeBasisDeformations.ScalarMeshCategory.TwoRows.mono {V : Type v'} [Quiver V] {Q : TranslationQuiver V} [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] {S S' : RowSet Q} (h : TwoRows Q S') (hS : S βŠ† S') :
    theorem MultiplicativeBasisDeformations.StarTrace.rowClass_candRow {t : β„•} {L : Fin t β†’ β„•} {V : Type v'} [Quiver V] [βˆ€ (x y : V), Subsingleton (x ⟢ y)] {Q : TranslationQuiver V} (hQ : Q.IsStable) (Ο€ : (starTree L).ZVert β₯€q V) {k : Type u} [CommRing k] [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] [(x y : V) β†’ DecidableEq (x ⟢ y)] [DecidablePred fun (x : V) => x ∈ Q.nonprojective] [Fintype ↑Q.nonprojective] (c : MeshCoefficients k Q) (Οƒ : StarV L ≃ StarV L) (hΟƒ : βˆ€ (a b : StarV L), (starTree L).G.Adj (Οƒ a) (Οƒ b) ↔ (starTree L).G.Adj a b) (m : β„•) (hΟƒo : Οƒ none = none) (W : List (Fin t)) (hW : 2 * W.length = m + 1) (e : Ο€.obj ((starTree L).ztau Xβ‚€) = hQ.tauE (Ο€.obj ((starTree L).liftEnd ((starTree L).ztau Xβ‚€) (StarCorner.wordP W)))) :
    ScalarMeshCategory.rowClass c m βŸ¨Ο€.obj ((starTree L).liftEnd ((starTree L).ztau Xβ‚€) (StarCorner.wordP W)), β‹―βŸ© (Quiver.Path.cast e β‹― (Ο€.mapPath (liftW W))) = wordTr hQ Ο€ c Οƒ hΟƒ m hΟƒo W
    theorem MultiplicativeBasisDeformations.StarTrace.star_two {t : β„•} {L : Fin t β†’ β„•} {V : Type v'} [Quiver V] [βˆ€ (x y : V), Subsingleton (x ⟢ y)] {Q : TranslationQuiver V} (hQ : Q.IsStable) (Ο€ : (starTree L).ZVert β₯€q V) {k : Type u} [CommRing k] [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] [(x y : V) β†’ DecidableEq (x ⟢ y)] [DecidablePred fun (x : V) => x ∈ Q.nonprojective] [Fintype ↑Q.nonprojective] (hΟ€ : Ο€.IsCovering) (hΟ„ : βˆ€ (Y : (starTree L).ZVert), Ο€.obj ((starTree L).ztau Y) = hQ.tauE (Ο€.obj Y)) (hsurj : βˆ€ (x : V), βˆƒ (X : (starTree L).ZVert), Ο€.obj X = x) (ρ : StarV L ≃ StarV L) (hρ : βˆ€ (a b : StarV L), (starTree L).G.Adj (ρ a) (ρ b) ↔ (starTree L).G.Adj a b) (h0 : ρ none = none) (ΞΈ : Equiv.Perm (Fin t)) (hL : βˆ€ (i : Fin t), L (ΞΈ i) = L i) (hΞΈ : βˆ€ (i : Fin t) (j : β„•) (hj : j ≀ L i), ρ (StarGauge.ch i j hj) = StarGauge.ch (ΞΈ i) j β‹―) (c0 : β„•) (hρp : βˆ€ (v : StarV L), (starTree L).par (ρ v) = (starTree L).par v + ↑↑c0) (hdeck : βˆ€ (Z : (starTree L).ZVert), Ο€.obj (((starTree L).zAct ρ hρ (↑c0) hρp).obj Z) = Ο€.obj Z) (hfib : βˆ€ (X Y : (starTree L).ZVert), Ο€.obj X = Ο€.obj Y β†’ βˆƒ (n : β„•), Y = (StarGauge.gZ ρ hρ c0 hρp)^[n] X ∨ X = (StarGauge.gZ ρ hρ c0 hρp)^[n] Y) (hc0 : 0 < c0) (Wβ‚€ : List (Fin t)) (htwo : βˆ€ (M : Type (max u v' w)) [inst : AddCommGroup M] [Module k M] (D : TraceAlg.TraceData L M) (n : β„•), D.ΞΈ = ΞΈ ^ n β†’ 2 * Wβ‚€.length = 2 + n * c0 β†’ D.tr Wβ‚€ + D.tr Wβ‚€ = 0) (c : MeshCoefficients k Q) (m : β„•) (hm : 2 ≀ m) (R : (x : ↑Q.nonprojective) Γ— Quiver.Path ↑(Q.tau x) ↑x) :
    R ∈ candRow hQ Ο€ Wβ‚€ β†’ R.snd.length = m + 1 β†’ 2 β€’ ScalarMeshCategory.rowClass c m R.fst R.snd = 0

    Candidate rows killed by two: if the twisted trace of Wβ‚€ is killed by two in every twisted trace module (for the twists θⁿ of its degrees), so is the class of its candidate row, over any commutative coefficient ring.

    theorem MultiplicativeBasisDeformations.StarTrace.twoRows_candRow {t : β„•} {L : Fin t β†’ β„•} {V : Type v'} [Quiver V] [βˆ€ (x y : V), Subsingleton (x ⟢ y)] {Q : TranslationQuiver V} (hQ : Q.IsStable) (Ο€ : (starTree L).ZVert β₯€q V) [(x : V) β†’ Fintype ((y : V) Γ— (y ⟢ x))] [DecidableEq V] [(x y : V) β†’ DecidableEq (x ⟢ y)] [DecidablePred fun (x : V) => x ∈ Q.nonprojective] [Fintype ↑Q.nonprojective] (hΟ€ : Ο€.IsCovering) (hΟ„ : βˆ€ (Y : (starTree L).ZVert), Ο€.obj ((starTree L).ztau Y) = hQ.tauE (Ο€.obj Y)) (hsurj : βˆ€ (x : V), βˆƒ (X : (starTree L).ZVert), Ο€.obj X = x) (ρ : StarV L ≃ StarV L) (hρ : βˆ€ (a b : StarV L), (starTree L).G.Adj (ρ a) (ρ b) ↔ (starTree L).G.Adj a b) (h0 : ρ none = none) (ΞΈ : Equiv.Perm (Fin t)) (hL : βˆ€ (i : Fin t), L (ΞΈ i) = L i) (hΞΈ : βˆ€ (i : Fin t) (j : β„•) (hj : j ≀ L i), ρ (StarGauge.ch i j hj) = StarGauge.ch (ΞΈ i) j β‹―) (c0 : β„•) (hρp : βˆ€ (v : StarV L), (starTree L).par (ρ v) = (starTree L).par v + ↑↑c0) (hdeck : βˆ€ (Z : (starTree L).ZVert), Ο€.obj (((starTree L).zAct ρ hρ (↑c0) hρp).obj Z) = Ο€.obj Z) (hfib : βˆ€ (X Y : (starTree L).ZVert), Ο€.obj X = Ο€.obj Y β†’ βˆƒ (n : β„•), Y = (StarGauge.gZ ρ hρ c0 hρp)^[n] X ∨ X = (StarGauge.gZ ρ hρ c0 hρp)^[n] Y) (hc0 : 0 < c0) (Wβ‚€ : List (Fin t)) (htwo : βˆ€ (M : Type (max u v' w)) [inst : AddCommGroup M] (D : TraceAlg.TraceData L M) (n : β„•), D.ΞΈ = ΞΈ ^ n β†’ 2 * Wβ‚€.length = 2 + n * c0 β†’ D.tr Wβ‚€ + D.tr Wβ‚€ = 0) :

    Candidate rows of words whose traces are killed by two.