Monoid, group etc structures on M × N #
In this file we define one-binop (Monoid, Group etc) structures on M × N.
We also prove trivial simp lemmas, and define the following operations on MonoidHoms:
fst M N : M × N →* M,snd M N : M × N →* N: projectionsProd.fstandProd.sndasMonoidHoms;inl M N : M →* M × N,inr M N : N →* M × N: inclusions of first/second monoid into the product;f.prod g:M →* N × P: sendsxto(f x, g x);- When
Pis commutative,f.coprod g : M × N →* Psends(x, y)tof x * g y(without the commutativity assumption onP, seeMonoidHom.noncommPiCoprod); f.prodMap g : M × N → M' × N':prod.map f gas aMonoidHom, sends(x, y)to(f x, g y).
Main declarations #
mulMulHom/mulMonoidHom/mulMonoidWithZeroHom: Multiplication bundled as a multiplicative/monoid/monoid with zero homomorphism.divMonoidHom/divMonoidWithZeroHom: Division bundled as a monoid/monoid with zero homomorphism.
Equations
- Prod.instAddMonoid = AddMonoid.mk (_ : ∀ (a : M × N), 0 + a = a) (_ : ∀ (a : M × N), a + 0 = a) fun (z : ℕ) (a : M × N) => (AddMonoid.nsmul z a.1, AddMonoid.nsmul z a.2)
Equations
- Prod.subNegMonoid = SubNegMonoid.mk fun (z : ℤ) (a : G × H) => (SubNegMonoid.zsmul z a.1, SubNegMonoid.zsmul z a.2)
Equations
- Prod.instDivInvMonoidProd = DivInvMonoid.mk fun (z : ℤ) (a : G × H) => (DivInvMonoid.zpow z a.1, DivInvMonoid.zpow z a.2)
Equations
- (_ : IsLeftCancelAdd (G × H)) = (_ : IsLeftCancelAdd (G × H))
Equations
- (_ : IsLeftCancelMul (G × H)) = (_ : IsLeftCancelMul (G × H))
Equations
- (_ : IsRightCancelAdd (G × H)) = (_ : IsRightCancelAdd (G × H))
Equations
- (_ : IsRightCancelMul (G × H)) = (_ : IsRightCancelMul (G × H))
Equations
- (_ : IsCancelAdd (G × H)) = (_ : IsCancelAdd (G × H))
Equations
- (_ : IsCancelMul (G × H)) = (_ : IsCancelMul (G × H))
Prod.map as an AddMonoidHom
Equations
- AddHom.prodMap f g = AddHom.prod (AddHom.comp f (AddHom.fst M N)) (AddHom.comp g (AddHom.snd M N))
Instances For
Equations
- MulHom.prodMap f g = MulHom.prod (MulHom.comp f (MulHom.fst M N)) (MulHom.comp g (MulHom.snd M N))
Instances For
Coproduct of two AddHoms with the same codomain:
f.coprod g (p : M × N) = f p.1 + g p.2.
(Commutative codomain; for the general case, see AddHom.noncommCoprod)
Equations
- AddHom.coprod f g = AddHom.comp f (AddHom.fst M N) + AddHom.comp g (AddHom.snd M N)
Instances For
Coproduct of two MulHoms with the same codomain:
f.coprod g (p : M × N) = f p.1 * g p.2.
(Commutative codomain; for the general case, see MulHom.noncommCoprod)
Equations
- MulHom.coprod f g = MulHom.comp f (MulHom.fst M N) * MulHom.comp g (MulHom.snd M N)
Instances For
Given additive monoids A, B, the natural projection homomorphism
from A × B to A
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given monoids M, N, the natural projection homomorphism from M × N to M.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given additive monoids A, B, the natural projection homomorphism
from A × B to B
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given monoids M, N, the natural projection homomorphism from M × N to N.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given additive monoids A, B, the natural inclusion homomorphism
from A to A × B.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given monoids M, N, the natural inclusion homomorphism from M to M × N.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given additive monoids A, B, the natural inclusion homomorphism
from B to A × B.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given monoids M, N, the natural inclusion homomorphism from N to M × N.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Combine two AddMonoidHoms f : M →+ N, g : M →+ P into
f.prod g : M →+ N × P given by (f.prod g) x = (f x, g x)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Combine two MonoidHoms f : M →* N, g : M →* P into f.prod g : M →* N × P
given by (f.prod g) x = (f x, g x).
Equations
- One or more equations did not get rendered due to their size.
Instances For
prod.map as an AddMonoidHom.
Equations
- AddMonoidHom.prodMap f g = AddMonoidHom.prod (AddMonoidHom.comp f (AddMonoidHom.fst M N)) (AddMonoidHom.comp g (AddMonoidHom.snd M N))
Instances For
prod.map as a MonoidHom.
Equations
- MonoidHom.prodMap f g = MonoidHom.prod (MonoidHom.comp f (MonoidHom.fst M N)) (MonoidHom.comp g (MonoidHom.snd M N))
Instances For
Coproduct of two AddMonoidHoms with the same codomain:
f.coprod g (p : M × N) = f p.1 + g p.2.
(Commutative case; for the general case, see AddHom.noncommCoprod.)
Equations
- AddMonoidHom.coprod f g = AddMonoidHom.comp f (AddMonoidHom.fst M N) + AddMonoidHom.comp g (AddMonoidHom.snd M N)
Instances For
Coproduct of two MonoidHoms with the same codomain:
f.coprod g (p : M × N) = f p.1 * g p.2.
(Commutative case; for the general case, see MonoidHom.noncommCoprod.)
Equations
- MonoidHom.coprod f g = MonoidHom.comp f (MonoidHom.fst M N) * MonoidHom.comp g (MonoidHom.snd M N)
Instances For
The equivalence between M × N and N × M given by swapping the
components is additive.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence between M × N and N × M given by swapping the components
is multiplicative.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Four-way commutativity of prod.
The name matches mul_mul_mul_comm
Equations
- One or more equations did not get rendered due to their size.
Instances For
Four-way commutativity of prod. The name matches mul_mul_mul_comm.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Product of additive isomorphisms; the maps come from Equiv.prodCongr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Product of multiplicative isomorphisms; the maps come from Equiv.prodCongr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplying by the trivial monoid doesn't change the structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplying by the trivial monoid doesn't change the structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplying by the trivial monoid doesn't change the structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplying by the trivial monoid doesn't change the structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The additive monoid equivalence between additive units of a product of two additive monoids, and the product of the additive units of each additive monoid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplication and division as homomorphisms #
Addition as an additive monoid homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplication as a monoid homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplication as a multiplicative homomorphism with zero.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Subtraction as an additive monoid homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Division as a monoid homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Division as a multiplicative homomorphism with zero.
Equations
- One or more equations did not get rendered due to their size.