File: Mathlib/Algebra/Vertex/HVertexOperator.lean

full_name: HVertexOperator
code: /-- A heterogeneous `Γ`-vertex operator over a commutator ring `R` is an `R`-linear map from an
`R`-module `V` to `Γ`-Hahn series with coefficients in an `R`-module `W`. -/
abbrev HVertexOperator (Γ : Type*) [PartialOrder Γ] (R : Type*) [CommRing R]
    (V : Type*) (W : Type*) [AddCommGroup V] [Module R V] [AddCommGroup W] [Module R W] 
goal: Type (max u_7 u_8 u_5)

full_name: HVertexOperator.ext
code: @[ext]
theorem ext (A B : HVertexOperator Γ R V W) (h : ∀ v : V, A v = B v) :
    A = B 
goal: A = B

full_name: HVertexOperator.coeff_apply
code: /-- The coefficient of a heterogeneous vertex operator, viewed as a formal power series with
coefficients in linear maps. -/
@[simps]
def coeff (A : HVertexOperator Γ R V W) (n : Γ) : V →ₗ[R] W 
goal: (A.coeff n) v = ((HahnModule.of R).symm (A v)).coeff n

full_name: HVertexOperator.coeff
code: /-- The coefficient of a heterogeneous vertex operator, viewed as a formal power series with
coefficients in linear maps. -/
@[simps]
def coeff (A : HVertexOperator Γ R V W) (n : Γ) : V →ₗ[R] W 
goal: V →ₗ[R] W

full_name: HVertexOperator.coeff_isPWOsupport
code: theorem coeff_isPWOsupport (A : HVertexOperator Γ R V W) (v : V) :
    ((of R).symm (A v)).coeff.support.IsPWO 
goal: (Function.support ((HahnModule.of R).symm (A v)).coeff).IsPWO

full_name: HVertexOperator.coeff_inj
code: @[ext]
theorem coeff_inj : Function.Injective (coeff : HVertexOperator Γ R V W → Γ → (V →ₗ[R] W)) 
goal: Function.Injective HVertexOperator.coeff

full_name: HVertexOperator.of_coeff
code: /-- Given a coefficient function valued in linear maps satisfying a partially well-ordered support
condition, we produce a heterogeneous vertex operator. -/
@[simps]
def of_coeff (f : Γ → V →ₗ[R] W)
    (hf : ∀(x : V), (Function.support (f · x)).IsPWO) : HVertexOperator Γ R V W 
goal: HVertexOperator Γ R V W

full_name: HVertexOperator.of_coeff_apply
code: /-- Given a coefficient function valued in linear maps satisfying a partially well-ordered support
condition, we produce a heterogeneous vertex operator. -/
@[simps]
def of_coeff (f : Γ → V →ₗ[R] W)
    (hf : ∀(x : V), (Function.support (f · x)).IsPWO) : HVertexOperator Γ R V W 
goal: (HVertexOperator.of_coeff f hf) x = (HahnModule.of R) { coeff := fun g => (f g) x, isPWO_support' := ⋯ }

full_name: HVertexOperator.compHahnSeries_coeff
code: /-- The composite of two heterogeneous vertex operators acting on a vector, as an iterated Hahn
series. -/
@[simps]
def compHahnSeries (u : U) : HahnSeries Γ' (HahnSeries Γ W) 
goal: (A.compHahnSeries B u).coeff g' = A ((B.coeff g') u)

full_name: HVertexOperator.compHahnSeries
code: /-- The composite of two heterogeneous vertex operators acting on a vector, as an iterated Hahn
series. -/
@[simps]
def compHahnSeries (u : U) : HahnSeries Γ' (HahnSeries Γ W) 
goal: HahnSeries Γ' (HahnSeries Γ W)

full_name: HVertexOperator.compHahnSeries_add
code: @[simp]
theorem compHahnSeries_add (u v : U) :
    compHahnSeries A B (u + v) = compHahnSeries A B u + compHahnSeries A B v 
goal: A.compHahnSeries B (u + v) = A.compHahnSeries B u + A.compHahnSeries B v

full_name: HVertexOperator.compHahnSeries_smul
code: @[simp]
theorem compHahnSeries_smul (r : R) (u : U) :
    compHahnSeries A B (r • u) = r • compHahnSeries A B u 
goal: A.compHahnSeries B (r • u) = r • A.compHahnSeries B u

full_name: HVertexOperator.comp
code: /-- The composite of two heterogeneous vertex operators, as a heterogeneous vertex operator. -/
@[simps]
def comp : HVertexOperator (Γ' ×ₗ Γ) R U W 
goal: HVertexOperator (Lex (Γ' × Γ)) R U W

full_name: HVertexOperator.comp_apply
code: /-- The composite of two heterogeneous vertex operators, as a heterogeneous vertex operator. -/
@[simps]
def comp : HVertexOperator (Γ' ×ₗ Γ) R U W 
goal: (A.comp B) u = (HahnModule.of R) (A.compHahnSeries B u).ofIterate

full_name: HVertexOperator.comp_coeff
code: @[simp]
theorem comp_coeff (g : Γ' ×ₗ Γ) :
    (comp A B).coeff g = A.coeff (ofLex g).2 ∘ₗ B.coeff (ofLex g).1 
goal: (A.comp B).coeff g = A.coeff (ofLex g).2 ∘ₗ B.coeff (ofLex g).1