File: Mathlib/Algebra/MonoidAlgebra/Division.lean

full_name: AddMonoidAlgebra.divOf
code: /-- Divide by `of' k G g`, discarding terms not divisible by this. -/
noncomputable def divOf (x : k[G]) (g : G) : k[G] 
goal: AddMonoidAlgebra k G

full_name: AddMonoidAlgebra.«_aux_Mathlib_Algebra_MonoidAlgebra_Division___macroRules_AddMonoidAlgebra_term_/ᵒᶠ__1»
code: local infixl:70 " /ᵒᶠ " => divOf
goal: Lean.Macro

full_name: AddMonoidAlgebra._aux_Mathlib_Algebra_MonoidAlgebra_Division___unexpand_AddMonoidAlgebra_divOf_1
code: local infixl:70 " /ᵒᶠ " => divOf
goal: Lean.PrettyPrinter.Unexpander

full_name: AddMonoidAlgebra.divOf_apply
code: @[simp]
theorem divOf_apply (g : G) (x : k[G]) (g' : G) : (x /ᵒᶠ g) g' = x (g + g') 
goal: (x.divOf g) g' = x (g + g')

full_name: AddMonoidAlgebra.support_divOf
code: @[simp]
theorem support_divOf (g : G) (x : k[G]) :
    (x /ᵒᶠ g).support =
      x.support.preimage (g + ·) (Function.Injective.injOn (add_right_injective g)) 
goal: (x.divOf g).support = x.support.preimage (fun x => g + x) ⋯

full_name: AddMonoidAlgebra.zero_divOf
code: @[simp]
theorem zero_divOf (g : G) : (0 : k[G]) /ᵒᶠ g = 0 
goal: AddMonoidAlgebra.divOf 0 g = 0

full_name: AddMonoidAlgebra.divOf_zero
code: @[simp]
theorem divOf_zero (x : k[G]) : x /ᵒᶠ 0 = x 
goal: x.divOf 0 = x

full_name: AddMonoidAlgebra.add_divOf
code: theorem add_divOf (x y : k[G]) (g : G) : (x + y) /ᵒᶠ g = x /ᵒᶠ g + y /ᵒᶠ g 
goal: (x + y).divOf g = x.divOf g + y.divOf g

full_name: AddMonoidAlgebra.divOf_add
code: theorem divOf_add (x : k[G]) (a b : G) : x /ᵒᶠ (a + b) = x /ᵒᶠ a /ᵒᶠ b 
goal: x.divOf (a + b) = (x.divOf a).divOf b

full_name: AddMonoidAlgebra.divOfHom_apply_apply
code: /-- A bundled version of `AddMonoidAlgebra.divOf`. -/
@[simps]
noncomputable def divOfHom : Multiplicative G →* AddMonoid.End k[G] 
goal: (AddMonoidAlgebra.divOfHom g) x = x.divOf (Multiplicative.toAdd g)

full_name: AddMonoidAlgebra.divOfHom
code: /-- A bundled version of `AddMonoidAlgebra.divOf`. -/
@[simps]
noncomputable def divOfHom : Multiplicative G →* AddMonoid.End k[G] 
goal: Multiplicative G →* AddMonoid.End (AddMonoidAlgebra k G)

full_name: AddMonoidAlgebra.of'_mul_divOf
code: theorem of'_mul_divOf (a : G) (x : k[G]) : of' k G a * x /ᵒᶠ a = x 
goal: (AddMonoidAlgebra.of' k G a * x).divOf a = x

full_name: AddMonoidAlgebra.mul_of'_divOf
code: theorem mul_of'_divOf (x : k[G]) (a : G) : x * of' k G a /ᵒᶠ a = x 
goal: (x * AddMonoidAlgebra.of' k G a).divOf a = x

full_name: AddMonoidAlgebra.of'_divOf
code: theorem of'_divOf (a : G) : of' k G a /ᵒᶠ a = 1 
goal: (AddMonoidAlgebra.of' k G a).divOf a = 1

full_name: AddMonoidAlgebra.modOf
code: /-- The remainder upon division by `of' k G g`. -/
noncomputable def modOf (x : k[G]) (g : G) : k[G] 
goal: AddMonoidAlgebra k G

full_name: AddMonoidAlgebra._aux_Mathlib_Algebra_MonoidAlgebra_Division___unexpand_AddMonoidAlgebra_modOf_1
code: local infixl:70 " %ᵒᶠ " => modOf
goal: Lean.PrettyPrinter.Unexpander

full_name: AddMonoidAlgebra.«_aux_Mathlib_Algebra_MonoidAlgebra_Division___macroRules_AddMonoidAlgebra_term_%ᵒᶠ__1»
code: local infixl:70 " %ᵒᶠ " => modOf
goal: Lean.Macro

full_name: AddMonoidAlgebra.modOf_apply_of_not_exists_add
code: @[simp]
theorem modOf_apply_of_not_exists_add (x : k[G]) (g : G) (g' : G)
    (h : ¬∃ d, g' = g + d) : (x %ᵒᶠ g) g' = x g' 
goal: (x.modOf g) g' = x g'

full_name: AddMonoidAlgebra.modOf_apply_of_exists_add
code: @[simp]
theorem modOf_apply_of_exists_add (x : k[G]) (g : G) (g' : G)
    (h : ∃ d, g' = g + d) : (x %ᵒᶠ g) g' = 0 
goal: (x.modOf g) g' = 0

full_name: AddMonoidAlgebra.modOf_apply_add_self
code: @[simp]
theorem modOf_apply_add_self (x : k[G]) (g : G) (d : G) : (x %ᵒᶠ g) (d + g) = 0 
goal: (x.modOf g) (d + g) = 0

full_name: AddMonoidAlgebra.modOf_apply_self_add
code: theorem modOf_apply_self_add (x : k[G]) (g : G) (d : G) : (x %ᵒᶠ g) (g + d) = 0 
goal: (x.modOf g) (g + d) = 0

full_name: AddMonoidAlgebra.of'_mul_modOf
code: theorem of'_mul_modOf (g : G) (x : k[G]) : of' k G g * x %ᵒᶠ g = 0 
goal: (AddMonoidAlgebra.of' k G g * x).modOf g = 0

full_name: AddMonoidAlgebra.mul_of'_modOf
code: theorem mul_of'_modOf (x : k[G]) (g : G) : x * of' k G g %ᵒᶠ g = 0 
goal: (x * AddMonoidAlgebra.of' k G g).modOf g = 0

full_name: AddMonoidAlgebra.of'_modOf
code: theorem of'_modOf (g : G) : of' k G g %ᵒᶠ g = 0 
goal: (AddMonoidAlgebra.of' k G g).modOf g = 0

full_name: AddMonoidAlgebra.divOf_add_modOf
code: theorem divOf_add_modOf (x : k[G]) (g : G) :
    of' k G g * (x /ᵒᶠ g) + x %ᵒᶠ g = x 
goal: AddMonoidAlgebra.of' k G g * x.divOf g + x.modOf g = x

full_name: AddMonoidAlgebra.modOf_add_divOf
code: theorem modOf_add_divOf (x : k[G]) (g : G) : x %ᵒᶠ g + of' k G g * (x /ᵒᶠ g) = x 
goal: x.modOf g + AddMonoidAlgebra.of' k G g * x.divOf g = x

full_name: AddMonoidAlgebra.of'_dvd_iff_modOf_eq_zero
code: theorem of'_dvd_iff_modOf_eq_zero {x : k[G]} {g : G} :
    of' k G g ∣ x ↔ x %ᵒᶠ g = 0 
goal: AddMonoidAlgebra.of' k G g ∣ x ↔ x.modOf g = 0