Documentation

LeanCourse.MIL.C07_Hierarchies.S03_Subobjects

theorem Submonoid₁.ext {M : Type} :
∀ {inst : Monoid M} {x y : Submonoid₁ M}, x.carrier = y.carrierx = y
theorem Submonoid₁.ext_iff {M : Type} :
∀ {inst : Monoid M} {x y : Submonoid₁ M}, x = y x.carrier = y.carrier
structure Submonoid₁ (M : Type) [Monoid M] :
  • carrier : Set M

    The carrier of a submonoid.

  • mul_mem : ∀ {a b : M}, a self.carrierb self.carriera * b self.carrier

    The product of two elements of a submonoid belongs to the submonoid.

  • one_mem : 1 self.carrier

    The unit element belongs to the submonoid.

Instances For
    theorem Submonoid₁.mul_mem {M : Type} [Monoid M] (self : Submonoid₁ M) {a : M} {b : M} :
    a self.carrierb self.carriera * b self.carrier

    The product of two elements of a submonoid belongs to the submonoid.

    theorem Submonoid₁.one_mem {M : Type} [Monoid M] (self : Submonoid₁ M) :
    1 self.carrier

    The unit element belongs to the submonoid.

    Submonoids in M can be seen as sets in M.

    Equations
    • instSetLikeSubmonoid₁ = { coe := Submonoid₁.carrier, coe_injective' := }
    instance SubMonoid₁Monoid {M : Type} [Monoid M] (N : Submonoid₁ M) :
    Monoid N
    Equations
    class SubmonoidClass₁ (S : Type) (M : Type) [Monoid M] [SetLike S M] :
    • mul_mem : ∀ (s : S) {a b : M}, a sb sa * b s
    • one_mem : ∀ (s : S), 1 s
    Instances
      theorem SubmonoidClass₁.mul_mem {S : Type} {M : Type} :
      ∀ {inst : Monoid M} {inst_1 : SetLike S M} [self : SubmonoidClass₁ S M] (s : S) {a b : M}, a sb sa * b s
      theorem SubmonoidClass₁.one_mem {S : Type} {M : Type} :
      ∀ {inst : Monoid M} {inst_1 : SetLike S M} [self : SubmonoidClass₁ S M] (s : S), 1 s
      Equations
      • instInfSubmonoid₁ = { inf := fun (S₁ S₂ : Submonoid₁ M) => { carrier := S₁ S₂, mul_mem := , one_mem := } }
      def Submonoid.Setoid {M : Type u_1} [CommMonoid M] (N : Submonoid M) :
      Equations
      • N.Setoid = { r := fun (x y : M) => wN, zN, x * w = y * z, iseqv := }
      Instances For
        Equations
        • instHasQuotientSubmonoid_leanCourse = { quotient' := fun (N : Submonoid M) => Quotient N.Setoid }
        def QuotientMonoid.mk {M : Type u_1} [CommMonoid M] (N : Submonoid M) :
        MM N
        Equations
        Instances For