Documentation

Groebner.ToMathlib.MulEquiv

theorem MulEquiv.range_subtype {M : Type u_1} [MulOneClass M] (s : Submonoid M) :
Set.range ⇑s.subtype = ↑s
theorem MulEquiv.range_subtype' {M : Type u_1} [MulOneClass M] (s : Submonoid M) :
↑(Set.range ⇑s.subtype) = ↥s
theorem AddEquiv.range_subtype' {M : Type u_1} [AddZeroClass M] (s : AddSubmonoid M) :
↑(Set.range ⇑s.subtype) = ↥s
def MulEquiv.ofLeftInverse'' {M : Type u_1} {N : Type u_2} [MulOneClass M] [MulOneClass N] (f : M →* N) (g : ↥(MonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) :

A monoid homomorphism f : M →* N with a left-inverse g : N → M defines a multiplicative equivalence between M and f.mrange. This is a bidirectional version of MonoidHom.mrange_restrict.

Equations
Instances For
    def AddEquiv.ofLeftInverse'' {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) (g : ↥(AddMonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) :

    An additive monoid homomorphism f : M →+ N with a left-inverse g : N → M defines an additive equivalence between M and f.mrange. This is a bidirectional version of AddMonoidHom.mrange_restrict.

    Equations
    Instances For
      @[simp]
      theorem AddEquiv.ofLeftInverse''_symm_apply {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) (g : ↥(AddMonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) (a✝ : ↥(AddMonoidHom.mrange f)) :
      (ofLeftInverse'' f g h).symm a✝ = g a✝
      @[simp]
      theorem AddEquiv.ofLeftInverse''_apply {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) (g : ↥(AddMonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) (a : M) :
      @[simp]
      theorem MulEquiv.ofLeftInverse''_symm_apply {M : Type u_1} {N : Type u_2} [MulOneClass M] [MulOneClass N] (f : M →* N) (g : ↥(MonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) (a✝ : ↥(MonoidHom.mrange f)) :
      (ofLeftInverse'' f g h).symm a✝ = g a✝
      @[simp]
      theorem MulEquiv.ofLeftInverse''_apply {M : Type u_1} {N : Type u_2} [MulOneClass M] [MulOneClass N] (f : M →* N) (g : ↥(MonoidHom.mrange f) → M) (h : Function.LeftInverse g ⇑f.mrangeRestrict) (a : M) :