Documentation

Mathlib.Algebra.GroupWithZero.InjSurj

Lifting groups with zero along injective/surjective maps #

def Function.Injective.mulZeroClass {M₀ : Type u_1} {M₀' : Type u_2} [inst : MulZeroClass M₀] [inst : Mul M₀'] [inst : Zero M₀'] (f : M₀'M₀) (hf : Function.Injective f) (zero : f 0 = 0) (mul : ∀ (a b : M₀'), f (a * b) = f a * f b) :

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

Equations
def Function.Surjective.mulZeroClass {M₀ : Type u_1} {M₀' : Type u_2} [inst : MulZeroClass M₀] [inst : Mul M₀'] [inst : Zero M₀'] (f : M₀M₀') (hf : Function.Surjective f) (zero : f 0 = 0) (mul : ∀ (a b : M₀), f (a * b) = f a * f b) :

Pushforward a MulZeroClass instance along an surjective function. See note [reducible non-instances].

Equations
theorem Function.Injective.noZeroDivisors {M₀ : Type u_1} {M₀' : Type u_2} [inst : Mul M₀] [inst : Zero M₀] [inst : Mul M₀'] [inst : Zero M₀'] [inst : NoZeroDivisors M₀'] (f : M₀M₀') (hf : Function.Injective f) (zero : f 0 = 0) (mul : ∀ (x y : M₀), f (x * y) = f x * f y) :

Pushforward a NoZeroDivisors instance along an injective function.

def Function.Injective.mulZeroOneClass {M₀ : Type u_1} {M₀' : Type u_2} [inst : MulZeroOneClass M₀] [inst : Mul M₀'] [inst : Zero M₀'] [inst : One M₀'] (f : M₀'M₀) (hf : Function.Injective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : ∀ (a b : M₀'), f (a * b) = f a * f b) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.mulZeroOneClass {M₀ : Type u_1} {M₀' : Type u_2} [inst : MulZeroOneClass M₀] [inst : Mul M₀'] [inst : Zero M₀'] [inst : One M₀'] (f : M₀M₀') (hf : Function.Surjective f) (zero : f 0 = 0) (one : f 1 = 1) (mul : ∀ (a b : M₀), f (a * b) = f a * f b) :

Pushforward a MulZeroOneClass instance along an surjective function. See note [reducible non-instances].

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.semigroupWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : Zero M₀'] [inst : Mul M₀'] [inst : SemigroupWithZero M₀] (f : M₀'M₀) (hf : Function.Injective f) (zero : f 0 = 0) (mul : ∀ (x y : M₀'), f (x * y) = f x * f y) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.semigroupWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : SemigroupWithZero M₀] [inst : Zero M₀'] [inst : Mul M₀'] (f : M₀M₀') (hf : Function.Surjective f) (zero : f 0 = 0) (mul : ∀ (x y : M₀), f (x * y) = f x * f y) :

Pushforward a SemigroupWithZero along an surjective function. See note [reducible non-instances].

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.monoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] [inst : MonoidWithZero M₀] (f : M₀'M₀) (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.monoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] [inst : MonoidWithZero M₀] (f : M₀M₀') (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.commMonoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] [inst : CommMonoidWithZero M₀] (f : M₀'M₀) (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.commMonoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] [inst : CommMonoidWithZero M₀] (f : M₀M₀') (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.cancelMonoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : CancelMonoidWithZero M₀] [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] (f : M₀'M₀) (hf : Function.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) :

Pullback a CancelMonoidWithZero along an injective function. See note [reducible non-instances].

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.cancelCommMonoidWithZero {M₀ : Type u_1} {M₀' : Type u_2} [inst : CancelCommMonoidWithZero M₀] [inst : Zero M₀'] [inst : Mul M₀'] [inst : One M₀'] [inst : Pow M₀' ] (f : M₀'M₀) (hf : Function.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) :

Pullback a CancelCommMonoidWithZero along an injective function. See note [reducible non-instances].

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.groupWithZero {G₀ : Type u_1} {G₀' : Type u_2} [inst : GroupWithZero G₀] [inst : Zero G₀'] [inst : Mul G₀'] [inst : One G₀'] [inst : Inv G₀'] [inst : Div G₀'] [inst : Pow G₀' ] [inst : Pow G₀' ] (f : G₀'G₀) (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.groupWithZero {G₀ : Type u_1} {G₀' : Type u_2} [inst : GroupWithZero G₀] [inst : Zero G₀'] [inst : Mul G₀'] [inst : One G₀'] [inst : Inv G₀'] [inst : Div G₀'] [inst : Pow G₀' ] [inst : Pow G₀' ] (h01 : 0 1) (f : G₀G₀') (hf : Function.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) :

Pushforward a GroupWithZero along an surjective function. See note [reducible non-instances].

Equations
  • One or more equations did not get rendered due to their size.
def Function.Injective.commGroupWithZero {G₀ : Type u_1} {G₀' : Type u_2} [inst : CommGroupWithZero G₀] [inst : Zero G₀'] [inst : Mul G₀'] [inst : One G₀'] [inst : Inv G₀'] [inst : Div G₀'] [inst : Pow G₀' ] [inst : Pow G₀' ] (f : G₀'G₀) (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.
def Function.Surjective.commGroupWithZero {G₀ : Type u_1} {G₀' : Type u_2} [inst : CommGroupWithZero G₀] [inst : Zero G₀'] [inst : Mul G₀'] [inst : One G₀'] [inst : Inv G₀'] [inst : Div G₀'] [inst : Pow G₀' ] [inst : Pow G₀' ] (h01 : 0 1) (f : G₀G₀') (hf : Function.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) :

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

Equations
  • One or more equations did not get rendered due to their size.