Documentation

Groebner.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''_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 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 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) :
      @[simp]
      theorem Function.LeftInverse.of_subsingleton {α : Sort u_4} {β : Sort u_5} [Subsingleton β] (g : αβ) (f : βα) :
      @[simp]
      theorem Function.RightInverse.of_subsingleton {α : Sort u_4} [Subsingleton α] {β : Sort u_5} (g : αβ) (f : βα) :
      @[simp]
      theorem Function.LeftInverse.of_empty {α : Sort u_4} [IsEmpty α] {β : Sort u_5} (g : αβ) (f : βα) :
      @[simp]
      theorem Function.RightInverse.of_empty {α : Sort u_4} {β : Sort u_5} [IsEmpty β] (g : αβ) (f : βα) :