Documentation

Mathlib.Algebra.Group.WithOne.Basic

More operations on WithOne and WithZero #

This file defines various bundled morphisms on WithOne and WithZero that were not available in Algebra/Group/WithOne/Defs.

Main definitions #

def WithOne.coeMulHom {α : Type u} [Mul α] :

WithOne.coe as a bundled morphism

Equations
def WithZero.coeAddHom {α : Type u} [Add α] :

WithZero.coe as a bundled morphism

Equations
@[simp]
theorem WithZero.coeAddHom_apply {α : Type u} [Add α] (a✝ : α) :
coeAddHom a✝ = a✝
@[simp]
theorem WithOne.coeMulHom_apply {α : Type u} [Mul α] (a✝ : α) :
coeMulHom a✝ = a✝
def WithOne.lift {α : Type u} {β : Type v} [Mul α] [MulOneClass β] :
(α →ₙ* β) (WithOne α →* β)

Lift a semigroup homomorphism f to a bundled monoid homomorphism.

Equations
  • One or more equations did not get rendered due to their size.
def WithZero.lift {α : Type u} {β : Type v} [Add α] [AddZeroClass β] :
(α →ₙ+ β) (WithZero α →+ β)

Lift an add semigroup homomorphism f to a bundled add monoid homomorphism.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem WithOne.lift_coe {α : Type u} {β : Type v} [Mul α] [MulOneClass β] (f : α →ₙ* β) (x : α) :
(lift f) x = f x
@[simp]
theorem WithZero.lift_coe {α : Type u} {β : Type v} [Add α] [AddZeroClass β] (f : α →ₙ+ β) (x : α) :
(lift f) x = f x
@[simp]
theorem WithOne.lift_one {α : Type u} {β : Type v} [Mul α] [MulOneClass β] (f : α →ₙ* β) :
(lift f) 1 = 1
@[simp]
theorem WithZero.lift_zero {α : Type u} {β : Type v} [Add α] [AddZeroClass β] (f : α →ₙ+ β) :
(lift f) 0 = 0
theorem WithOne.lift_unique {α : Type u} {β : Type v} [Mul α] [MulOneClass β] (f : WithOne α →* β) :
f = lift ((↑f).comp coeMulHom)
theorem WithZero.lift_unique {α : Type u} {β : Type v} [Add α] [AddZeroClass β] (f : WithZero α →+ β) :
f = lift ((↑f).comp coeAddHom)
def WithOne.map {α : Type u} {β : Type v} [Mul α] [Mul β] (f : α →ₙ* β) :

Given a multiplicative map from α → β returns a monoid homomorphism from WithOne α to WithOne β

Equations
def WithZero.map {α : Type u} {β : Type v} [Add α] [Add β] (f : α →ₙ+ β) :

Given an additive map from α → β returns an add monoid homomorphism from WithZero α to WithZero β

Equations
@[simp]
theorem WithOne.map_coe {α : Type u} {β : Type v} [Mul α] [Mul β] (f : α →ₙ* β) (a : α) :
(map f) a = (f a)
@[simp]
theorem WithZero.map_coe {α : Type u} {β : Type v} [Add α] [Add β] (f : α →ₙ+ β) (a : α) :
(map f) a = (f a)
@[simp]
theorem WithOne.map_id {α : Type u} [Mul α] :
@[simp]
theorem WithZero.map_id {α : Type u} [Add α] :
theorem WithOne.map_map {α : Type u} {β : Type v} {γ : Type w} [Mul α] [Mul β] [Mul γ] (f : α →ₙ* β) (g : β →ₙ* γ) (x : WithOne α) :
(map g) ((map f) x) = (map (g.comp f)) x
theorem WithZero.map_map {α : Type u} {β : Type v} {γ : Type w} [Add α] [Add β] [Add γ] (f : α →ₙ+ β) (g : β →ₙ+ γ) (x : WithZero α) :
(map g) ((map f) x) = (map (g.comp f)) x
@[simp]
theorem WithOne.map_comp {α : Type u} {β : Type v} {γ : Type w} [Mul α] [Mul β] [Mul γ] (f : α →ₙ* β) (g : β →ₙ* γ) :
map (g.comp f) = (map g).comp (map f)
@[simp]
theorem WithZero.map_comp {α : Type u} {β : Type v} {γ : Type w} [Add α] [Add β] [Add γ] (f : α →ₙ+ β) (g : β →ₙ+ γ) :
map (g.comp f) = (map g).comp (map f)
def MulEquiv.withOneCongr {α : Type u} {β : Type v} [Mul α] [Mul β] (e : α ≃* β) :

A version of Equiv.optionCongr for WithOne.

Equations
def AddEquiv.withZeroCongr {α : Type u} {β : Type v} [Add α] [Add β] (e : α ≃+ β) :

A version of Equiv.optionCongr for WithZero.

Equations
@[simp]
theorem MulEquiv.withOneCongr_apply {α : Type u} {β : Type v} [Mul α] [Mul β] (e : α ≃* β) (a : WithOne α) :
@[simp]
theorem AddEquiv.withZeroCongr_apply {α : Type u} {β : Type v} [Add α] [Add β] (e : α ≃+ β) (a : WithZero α) :
@[simp]
@[simp]
@[simp]
theorem MulEquiv.withOneCongr_symm {α : Type u} {β : Type v} [Mul α] [Mul β] (e : α ≃* β) :
@[simp]
theorem AddEquiv.withZeroCongr_symm {α : Type u} {β : Type v} [Add α] [Add β] (e : α ≃+ β) :
@[simp]
theorem MulEquiv.withOneCongr_trans {α : Type u} {β : Type v} {γ : Type w} [Mul α] [Mul β] [Mul γ] (e₁ : α ≃* β) (e₂ : β ≃* γ) :
@[simp]
theorem AddEquiv.withZeroCongr_trans {α : Type u} {β : Type v} {γ : Type w} [Add α] [Add β] [Add γ] (e₁ : α ≃+ β) (e₂ : β ≃+ γ) :