Lifting groups with zero along injective/surjective maps #
Pull back a MulZeroClass
instance along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.mulZeroClass f hf zero mul = MulZeroClass.mk ⋯ ⋯
Instances For
Push forward a MulZeroClass
instance along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.mulZeroClass f hf zero mul = MulZeroClass.mk ⋯ ⋯
Instances For
Pull back a NoZeroDivisors
instance along an injective function.
Pull back a MulZeroOneClass
instance along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.mulZeroOneClass f hf zero one mul = MulZeroOneClass.mk ⋯ ⋯
Instances For
Push forward a MulZeroOneClass
instance along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.mulZeroOneClass f hf zero one mul = MulZeroOneClass.mk ⋯ ⋯
Instances For
Pull back a SemigroupWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.semigroupWithZero f hf zero mul = SemigroupWithZero.mk ⋯ ⋯
Instances For
Push forward a SemigroupWithZero
along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.semigroupWithZero f hf zero mul = SemigroupWithZero.mk ⋯ ⋯
Instances For
Pull back a MonoidWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.monoidWithZero f hf zero one mul npow = MonoidWithZero.mk ⋯ ⋯
Instances For
Push forward a MonoidWithZero
along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.monoidWithZero f hf zero one mul npow = MonoidWithZero.mk ⋯ ⋯
Instances For
Pull back a CommMonoidWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.commMonoidWithZero f hf zero one mul npow = CommMonoidWithZero.mk ⋯ ⋯
Instances For
Push forward a CommMonoidWithZero
along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.commMonoidWithZero f hf zero one mul npow = CommMonoidWithZero.mk ⋯ ⋯
Instances For
Pull back a CancelMonoidWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.cancelMonoidWithZero f hf zero one mul npow = CancelMonoidWithZero.mk
Instances For
Pull back a CancelCommMonoidWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.cancelCommMonoidWithZero f hf zero one mul npow = CancelCommMonoidWithZero.mk
Instances For
Pull back a GroupWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.groupWithZero f hf zero one mul inv div npow zpow = GroupWithZero.mk ⋯ DivInvMonoid.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Push forward a GroupWithZero
along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.groupWithZero h01 f hf zero one mul inv div npow zpow = GroupWithZero.mk ⋯ DivInvMonoid.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Pull back a CommGroupWithZero
along an injective function.
See note [reducible non-instances].
Equations
- Function.Injective.commGroupWithZero f hf zero one mul inv div npow zpow = CommGroupWithZero.mk ⋯ GroupWithZero.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Push forward a CommGroupWithZero
along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.commGroupWithZero h01 f hf zero one mul inv div npow zpow = CommGroupWithZero.mk ⋯ GroupWithZero.zpow ⋯ ⋯ ⋯ ⋯ ⋯