Documentation

Mathlib.Algebra.GroupWithZero.InjSurj

Lifting groups with zero along injective/surjective maps #

@[reducible, inline]
abbrev Function.Injective.mulZeroClass {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [MulZeroClass Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€' โ†’ Mโ‚€) (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (a b : Mโ‚€'), f (a * b) = f a * f b) :
MulZeroClass Mโ‚€'

Pull back a MulZeroClass instance along an injective function. See note [reducible non-instances].

Equations
    Instances For
      @[reducible, inline]
      abbrev Function.Surjective.mulZeroClass {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [MulZeroClass Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Surjective f) (zero : f 0 = 0) (mul : โˆ€ (a b : Mโ‚€), f (a * b) = f a * f b) :
      MulZeroClass Mโ‚€'

      Push forward a MulZeroClass instance along a surjective function. See note [reducible non-instances].

      Equations
        Instances For
          theorem Function.Injective.noZeroDivisors {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Mul Mโ‚€] [Zero Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) [NoZeroDivisors Mโ‚€'] :

          Pull back a NoZeroDivisors instance along an injective function.

          theorem Function.Injective.isLeftCancelMulZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Mul Mโ‚€] [Zero Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) [IsLeftCancelMulZero Mโ‚€'] :
          theorem Function.Injective.isRightCancelMulZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Mul Mโ‚€] [Zero Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) [IsRightCancelMulZero Mโ‚€'] :
          theorem Function.Injective.isCancelMulZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Mul Mโ‚€] [Zero Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) [IsCancelMulZero Mโ‚€'] :
          @[reducible, inline]
          abbrev Function.Injective.mulZeroOneClass {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [MulZeroOneClass Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] [One Mโ‚€'] (f : Mโ‚€' โ†’ Mโ‚€) (hf : Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (a b : Mโ‚€'), f (a * b) = f a * f b) :
          MulZeroOneClass Mโ‚€'

          Pull back a MulZeroOneClass instance along an injective function. See note [reducible non-instances].

          Equations
            Instances For
              @[reducible, inline]
              abbrev Function.Surjective.mulZeroOneClass {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [MulZeroOneClass Mโ‚€] [Mul Mโ‚€'] [Zero Mโ‚€'] [One Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (a b : Mโ‚€), f (a * b) = f a * f b) :
              MulZeroOneClass Mโ‚€'

              Push forward a MulZeroOneClass instance along a surjective function. See note [reducible non-instances].

              Equations
                Instances For
                  @[reducible, inline]
                  abbrev Function.Injective.semigroupWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Zero Mโ‚€'] [Mul Mโ‚€'] [SemigroupWithZero Mโ‚€] (f : Mโ‚€' โ†’ Mโ‚€) (hf : Injective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€'), f (x * y) = f x * f y) :

                  Pull back a SemigroupWithZero along an injective function. See note [reducible non-instances].

                  Equations
                    Instances For
                      @[reducible, inline]
                      abbrev Function.Surjective.semigroupWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [SemigroupWithZero Mโ‚€] [Zero Mโ‚€'] [Mul Mโ‚€'] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Surjective f) (zero : f 0 = 0) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) :

                      Push forward a SemigroupWithZero along a surjective function. See note [reducible non-instances].

                      Equations
                        Instances For
                          @[reducible, inline]
                          abbrev Function.Injective.monoidWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Zero Mโ‚€'] [Mul Mโ‚€'] [One Mโ‚€'] [Pow Mโ‚€' โ„•] [MonoidWithZero Mโ‚€] (f : Mโ‚€' โ†’ Mโ‚€) (hf : Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Mโ‚€'), f (x * y) = f x * f y) (npow : โˆ€ (x : Mโ‚€') (n : โ„•), f (x ^ n) = f x ^ n) :
                          MonoidWithZero Mโ‚€'

                          Pull back a MonoidWithZero along an injective function. See note [reducible non-instances].

                          Equations
                            Instances For
                              @[reducible, inline]
                              abbrev Function.Surjective.monoidWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Zero Mโ‚€'] [Mul Mโ‚€'] [One Mโ‚€'] [Pow Mโ‚€' โ„•] [MonoidWithZero Mโ‚€] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) (npow : โˆ€ (x : Mโ‚€) (n : โ„•), f (x ^ n) = f x ^ n) :
                              MonoidWithZero Mโ‚€'

                              Push forward a MonoidWithZero along a surjective function. See note [reducible non-instances].

                              Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev Function.Injective.commMonoidWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Zero Mโ‚€'] [Mul Mโ‚€'] [One Mโ‚€'] [Pow Mโ‚€' โ„•] [CommMonoidWithZero Mโ‚€] (f : Mโ‚€' โ†’ Mโ‚€) (hf : Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Mโ‚€'), f (x * y) = f x * f y) (npow : โˆ€ (x : Mโ‚€') (n : โ„•), f (x ^ n) = f x ^ n) :

                                  Pull back a CommMonoidWithZero along an injective function. See note [reducible non-instances].

                                  Equations
                                    Instances For
                                      @[reducible, inline]
                                      abbrev Function.Surjective.commMonoidWithZero {Mโ‚€ : Type u_1} {Mโ‚€' : Type u_3} [Zero Mโ‚€'] [Mul Mโ‚€'] [One Mโ‚€'] [Pow Mโ‚€' โ„•] [CommMonoidWithZero Mโ‚€] (f : Mโ‚€ โ†’ Mโ‚€') (hf : Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Mโ‚€), f (x * y) = f x * f y) (npow : โˆ€ (x : Mโ‚€) (n : โ„•), f (x ^ n) = f x ^ n) :

                                      Push forward a CommMonoidWithZero along a surjective function. See note [reducible non-instances].

                                      Equations
                                        Instances For
                                          @[reducible, inline]
                                          abbrev Function.Injective.groupWithZero {Gโ‚€ : Type u_2} {Gโ‚€' : Type u_4} [GroupWithZero Gโ‚€] [Zero Gโ‚€'] [Mul Gโ‚€'] [One Gโ‚€'] [Inv Gโ‚€'] [Div Gโ‚€'] [Pow Gโ‚€' โ„•] [Pow Gโ‚€' โ„ค] (f : Gโ‚€' โ†’ Gโ‚€) (hf : Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Gโ‚€'), f (x * y) = f x * f y) (inv : โˆ€ (x : Gโ‚€'), f xโปยน = (f x)โปยน) (div : โˆ€ (x y : Gโ‚€'), f (x / y) = f x / f y) (npow : โˆ€ (x : Gโ‚€') (n : โ„•), f (x ^ n) = f x ^ n) (zpow : โˆ€ (x : Gโ‚€') (n : โ„ค), f (x ^ n) = f x ^ n) :
                                          GroupWithZero Gโ‚€'

                                          Pull back a GroupWithZero along an injective function. See note [reducible non-instances].

                                          Equations
                                            Instances For
                                              @[reducible, inline]
                                              abbrev Function.Surjective.groupWithZero {Gโ‚€ : Type u_2} {Gโ‚€' : Type u_4} [GroupWithZero Gโ‚€] [Zero Gโ‚€'] [Mul Gโ‚€'] [One Gโ‚€'] [Inv Gโ‚€'] [Div Gโ‚€'] [Pow Gโ‚€' โ„•] [Pow Gโ‚€' โ„ค] (h01 : 0 โ‰  1) (f : Gโ‚€ โ†’ Gโ‚€') (hf : Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Gโ‚€), f (x * y) = f x * f y) (inv : โˆ€ (x : Gโ‚€), f xโปยน = (f x)โปยน) (div : โˆ€ (x y : Gโ‚€), f (x / y) = f x / f y) (npow : โˆ€ (x : Gโ‚€) (n : โ„•), f (x ^ n) = f x ^ n) (zpow : โˆ€ (x : Gโ‚€) (n : โ„ค), f (x ^ n) = f x ^ n) :
                                              GroupWithZero Gโ‚€'

                                              Push forward a GroupWithZero along a surjective function. See note [reducible non-instances].

                                              Equations
                                                Instances For
                                                  @[reducible, inline]
                                                  abbrev Function.Injective.commGroupWithZero {Gโ‚€ : Type u_2} {Gโ‚€' : Type u_4} [CommGroupWithZero Gโ‚€] [Zero Gโ‚€'] [Mul Gโ‚€'] [One Gโ‚€'] [Inv Gโ‚€'] [Div Gโ‚€'] [Pow Gโ‚€' โ„•] [Pow Gโ‚€' โ„ค] (f : Gโ‚€' โ†’ Gโ‚€) (hf : Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Gโ‚€'), f (x * y) = f x * f y) (inv : โˆ€ (x : Gโ‚€'), f xโปยน = (f x)โปยน) (div : โˆ€ (x y : Gโ‚€'), f (x / y) = f x / f y) (npow : โˆ€ (x : Gโ‚€') (n : โ„•), f (x ^ n) = f x ^ n) (zpow : โˆ€ (x : Gโ‚€') (n : โ„ค), f (x ^ n) = f x ^ n) :

                                                  Pull back a CommGroupWithZero along an injective function. See note [reducible non-instances].

                                                  Equations
                                                    Instances For
                                                      def Function.Surjective.commGroupWithZero {Gโ‚€ : Type u_2} {Gโ‚€' : Type u_4} [CommGroupWithZero Gโ‚€] [Zero Gโ‚€'] [Mul Gโ‚€'] [One Gโ‚€'] [Inv Gโ‚€'] [Div Gโ‚€'] [Pow Gโ‚€' โ„•] [Pow Gโ‚€' โ„ค] (h01 : 0 โ‰  1) (f : Gโ‚€ โ†’ Gโ‚€') (hf : Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : โˆ€ (x y : Gโ‚€), f (x * y) = f x * f y) (inv : โˆ€ (x : Gโ‚€), f xโปยน = (f x)โปยน) (div : โˆ€ (x y : Gโ‚€), f (x / y) = f x / f y) (npow : โˆ€ (x : Gโ‚€) (n : โ„•), f (x ^ n) = f x ^ n) (zpow : โˆ€ (x : Gโ‚€) (n : โ„ค), f (x ^ n) = f x ^ n) :

                                                      Push forward a CommGroupWithZero along a surjective function. See note [reducible non-instances].

                                                      Equations
                                                        Instances For