Documentation

LeanAPAP.Mathlib.Algebra.Group.AddChar

TODO #

Rename

instance AddChar.instAddCommMonoid {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
Equations
  • AddChar.instAddCommMonoid = Additive.addCommMonoid

Interpret an additive character as a monoid homomorphism.

Equations
Instances For
    @[simp]
    theorem AddChar.coe_toMonoidHomEquiv' {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) :
    (AddChar.toMonoidHomEquiv' ψ) = ψ Multiplicative.toAdd
    @[simp]
    theorem AddChar.coe_toMonoidHomEquiv'_symm {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : Multiplicative G →* R) :
    (AddChar.toMonoidHomEquiv'.symm ψ) = ψ Multiplicative.ofAdd
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (a : Multiplicative G) :
    (AddChar.toMonoidHomEquiv' ψ) a = ψ (Multiplicative.toAdd a)
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_symm_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : Multiplicative G →* R) (a : G) :
    (AddChar.toMonoidHomEquiv'.symm ψ) a = ψ (Multiplicative.ofAdd a)
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_zero {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
    AddChar.toMonoidHomEquiv' 0 = 1
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_symm_one {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
    AddChar.toMonoidHomEquiv'.symm 1 = 0
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_add {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (φ : AddChar G R) :
    AddChar.toMonoidHomEquiv' (ψ + φ) = AddChar.toMonoidHomEquiv' ψ * AddChar.toMonoidHomEquiv' φ
    @[simp]
    theorem AddChar.toMonoidHomEquiv'_symm_mul {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : Multiplicative G →* R) (φ : Multiplicative G →* R) :
    AddChar.toMonoidHomEquiv'.symm (ψ * φ) = AddChar.toMonoidHomEquiv'.symm ψ + AddChar.toMonoidHomEquiv'.symm φ

    Interpret an additive character as a monoid homomorphism.

    Equations
    Instances For
      @[simp]
      theorem AddChar.coe_toAddMonoidHomEquiv' {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) :
      (AddChar.toAddMonoidHomEquiv' ψ) = Additive.ofMul ψ
      @[simp]
      theorem AddChar.coe_toAddMonoidHomEquiv'_symm {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : G →+ Additive R) :
      (AddChar.toAddMonoidHomEquiv'.symm ψ) = Additive.toMul ψ
      @[simp]
      theorem AddChar.toAddMonoidHomEquiv'_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (a : G) :
      (AddChar.toAddMonoidHomEquiv' ψ) a = Additive.ofMul (ψ a)
      @[simp]
      theorem AddChar.toAddMonoidHomEquiv'_symm_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : G →+ Additive R) (a : G) :
      (AddChar.toAddMonoidHomEquiv'.symm ψ) a = Additive.toMul (ψ a)
      theorem AddChar.eq_one_iff {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ψ : AddChar G R} :
      ψ = 0 ∀ (x : G), ψ x = 1
      theorem AddChar.ne_one_iff {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ψ : AddChar G R} :
      ψ 0 ∃ (x : G), ψ x 1
      @[simp]
      theorem AddChar.coe_one {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
      1 = 1
      @[simp]
      theorem AddChar.coe_mul {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (χ : AddChar G R) :
      (ψ * χ) = ψ * χ
      @[simp]
      theorem AddChar.coe_pow {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (n : ) (ψ : AddChar G R) :
      (ψ ^ n) = ψ ^ n
      theorem AddChar.eq_zero_iff {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ψ : AddChar G R} :
      ψ = 0 ∀ (x : G), ψ x = 1
      theorem AddChar.ne_zero_iff {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ψ : AddChar G R} :
      ψ 0 ∃ (x : G), ψ x 1
      @[simp]
      theorem AddChar.coe_zero {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
      0 = 1
      theorem AddChar.zero_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (a : G) :
      0 a = 1
      @[simp]
      theorem AddChar.coe_eq_zero {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ψ : AddChar G R} :
      ψ = 1 ψ = 0
      @[simp]
      theorem AddChar.coe_add {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (χ : AddChar G R) :
      (ψ + χ) = ψ * χ
      theorem AddChar.add_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (ψ : AddChar G R) (χ : AddChar G R) (a : G) :
      (ψ + χ) a = ψ a * χ a
      @[simp]
      theorem AddChar.coe_nsmul {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (n : ) (ψ : AddChar G R) :
      (n ψ) = ψ ^ n
      theorem AddChar.nsmul_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (n : ) (ψ : AddChar G R) (a : G) :
      (ψ ^ n) a = ψ a ^ n
      @[simp]
      theorem AddChar.coe_sum {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ι : Type u_4} (s : Finset ι) (ψ : ιAddChar G R) :
      (Finset.sum s fun (i : ι) => ψ i) = Finset.prod s fun (i : ι) => (ψ i)
      theorem AddChar.sum_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] {ι : Type u_4} (s : Finset ι) (ψ : ιAddChar G R) (a : G) :
      (Finset.sum s fun (i : ι) => ψ i) a = Finset.prod s fun (i : ι) => (ψ i) a
      noncomputable instance AddChar.instDecidableEqAddCharToMonoid {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
      Equations
      @[simp]
      theorem AddChar.compAddMonoidHom_apply {G : Type u_1} {H : Type u_2} {R : Type u_3} [AddMonoid G] [AddMonoid H] [CommMonoid R] (ψ : AddChar H R) (f : G →+ H) (a : G) :
      (AddChar.compAddMonoidHom ψ f) a = ψ (f a)
      theorem AddChar.compAddMonoidHom_injective_left {G : Type u_1} {H : Type u_2} {R : Type u_3} [AddMonoid G] [AddMonoid H] [CommMonoid R] (f : G →+ H) (hf : Function.Surjective f) :
      theorem AddChar.compAddMonoidHom_injective_right {G : Type u_1} {H : Type u_2} {R : Type u_3} [AddMonoid G] [AddMonoid H] [CommMonoid R] (ψ : AddChar H R) (hψ : Function.Injective ψ) :
      def AddChar.doubleDualEmb {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] :
      G →+ AddChar (AddChar G R) R

      The double dual embedding.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem AddChar.doubleDualEmb_apply {G : Type u_1} {R : Type u_3} [AddMonoid G] [CommMonoid R] (a : G) (ψ : AddChar G R) :
        (AddChar.doubleDualEmb a) ψ = ψ a
        theorem AddChar.map_sub_eq_div {G : Type u_1} {R : Type u_3} [AddGroup G] [DivisionCommMonoid R] (ψ : AddChar G R) (x : G) (y : G) :
        ψ (x - y) = ψ x / ψ y
        theorem AddChar.injective_iff {G : Type u_1} {R : Type u_3} [AddGroup G] [DivisionCommMonoid R] {ψ : AddChar G R} :
        Function.Injective ψ ∀ ⦃x : G⦄, ψ x = 1x = 0
        theorem AddChar.sum_eq_ite {G : Type u_1} {R : Type u_3} [AddGroup G] [Fintype G] [CommSemiring R] [IsDomain R] (ψ : AddChar G R) :
        (Finset.sum Finset.univ fun (a : G) => ψ a) = if ψ = 0 then (Fintype.card G) else 0
        theorem AddChar.sum_eq_zero_iff_ne_zero {G : Type u_1} {R : Type u_3} [AddGroup G] [Fintype G] [CommSemiring R] [IsDomain R] [CharZero R] {ψ : AddChar G R} :
        (Finset.sum Finset.univ fun (x : G) => ψ x) = 0 ψ 0
        theorem AddChar.sum_ne_zero_iff_eq_zero {G : Type u_1} {R : Type u_3} [AddGroup G] [Fintype G] [CommSemiring R] [IsDomain R] [CharZero R] {ψ : AddChar G R} :
        (Finset.sum Finset.univ fun (x : G) => ψ x) 0 ψ = 0

        The additive characters on a commutative additive group form a commutative group.

        Equations
        • AddChar.instAddCommGroupAddCharToAddMonoidToSubNegMonoidToAddGroupToMonoid = Additive.addCommGroup
        @[simp]
        theorem AddChar.neg_apply {G : Type u_1} {R : Type u_3} [AddCommGroup G] [CommMonoid R] (ψ : AddChar G R) (a : G) :
        (-ψ) a = ψ (-a)
        @[simp]
        theorem AddChar.sub_apply {G : Type u_1} {R : Type u_3} [AddCommGroup G] [CommMonoid R] (ψ : AddChar G R) (χ : AddChar G R) (a : G) :
        (ψ - χ) a = ψ a * χ (-a)
        @[simp]
        theorem AddChar.map_zsmul_eq_zpow {G : Type u_1} {R : Type u_3} [AddCommGroup G] [DivisionCommMonoid R] (ψ : AddChar G R) (n : ) (a : G) :
        ψ (n a) = ψ a ^ n
        theorem AddChar.map_neg_eq_inv {G : Type u_1} {R : Type u_3} [AddCommGroup G] [DivisionCommMonoid R] (ψ : AddChar G R) (x : G) :
        ψ (-x) = (ψ x)⁻¹
        theorem AddChar.neg_apply' {G : Type u_1} {R : Type u_3} [AddCommGroup G] [DivisionCommMonoid R] (ψ : AddChar G R) (x : G) :
        (-ψ) x = (ψ x)⁻¹
        theorem AddChar.sub_apply' {G : Type u_1} {R : Type u_3} [AddCommGroup G] [DivisionCommMonoid R] (ψ : AddChar G R) (χ : AddChar G R) (a : G) :
        (ψ - χ) a = ψ a / χ a