Documentation

Mathlib.Analysis.Normed.Group.SemiNormedGrp

The category of seminormed groups #

We define SemiNormedGrp, the category of seminormed groups and normed group homs between them, as well as SemiNormedGrp₁, the subcategory of norm non-increasing morphisms.

structure SemiNormedGrp :
Type (u + 1)

The category of seminormed abelian groups and bounded group homomorphisms.

Instances For
    structure SemiNormedGrp.Hom (M N : SemiNormedGrp) :

    The type of morphisms in SemiNormedGrp

    Instances For
      theorem SemiNormedGrp.Hom.ext {M N : SemiNormedGrp} {x y : M.Hom N} (hom' : x.hom' = y.hom') :
      x = y
      @[reducible, inline]

      Turn a morphism in SemiNormedGrp back into a NormedAddGroupHom.

      Equations
        Instances For
          @[reducible, inline]
          abbrev SemiNormedGrp.ofHom {M N : Type u} [SeminormedAddCommGroup M] [SeminormedAddCommGroup N] (f : NormedAddGroupHom M N) :
          { carrier := M, str := inst✝ } { carrier := N, str := inst✝¹ }

          Typecheck a NormedAddGroupHom as a morphism in SemiNormedGrp.

          Equations
            Instances For

              Use the ConcreteCategory.hom projection for @[simps] lemmas.

              Equations
                Instances For

                  The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.

                  theorem SemiNormedGrp.ext {M N : SemiNormedGrp} {f₁ f₂ : M N} (h : ∀ (x : M.carrier), (CategoryTheory.ConcreteCategory.hom f₁) x = (CategoryTheory.ConcreteCategory.hom f₂) x) :
                  f₁ = f₂
                  theorem SemiNormedGrp.hom_ext {M N : SemiNormedGrp} {f g : M N} (hf : Hom.hom f = Hom.hom g) :
                  f = g
                  @[simp]
                  theorem SemiNormedGrp.ofHom_hom {M N : SemiNormedGrp} (f : M N) :
                  theorem SemiNormedGrp.coe_of (V : Type u) [SeminormedAddCommGroup V] :
                  { carrier := V, str := inst✝ }.carrier = V
                  @[simp]
                  theorem SemiNormedGrp.hom_add {V W : SemiNormedGrp} (f g : V W) :
                  @[simp]
                  theorem SemiNormedGrp.hom_sub {V W : SemiNormedGrp} (f g : V W) :
                  @[simp]
                  theorem SemiNormedGrp.hom_nsum {V W : SemiNormedGrp} (n : ) (f : V W) :
                  Hom.hom (n f) = n Hom.hom f
                  @[simp]
                  theorem SemiNormedGrp.hom_zsum {V W : SemiNormedGrp} (n : ) (f : V W) :
                  Hom.hom (n f) = n Hom.hom f
                  structure SemiNormedGrp₁ :
                  Type (u + 1)

                  SemiNormedGrp₁ is a type synonym for SemiNormedGrp, which we shall equip with the category structure consisting only of the norm non-increasing maps.

                  Instances For

                    The type of morphisms in SemiNormedGrp₁

                    Instances For
                      theorem SemiNormedGrp₁.Hom.ext {M N : SemiNormedGrp₁} {x y : M.Hom N} (hom' : x.hom' = y.hom') :
                      x = y
                      @[reducible, inline]

                      Turn a morphism in SemiNormedGrp₁ back into a norm-nonincreasing NormedAddGroupHom.

                      Equations
                        Instances For
                          @[reducible, inline]
                          abbrev SemiNormedGrp₁.mkHom {M N : Type u} [SeminormedAddCommGroup M] [SeminormedAddCommGroup N] (f : NormedAddGroupHom M N) (i : f.NormNoninc) :
                          { carrier := M, str := inst✝ } { carrier := N, str := inst✝¹ }

                          Promote a NormedAddGroupHom to a morphism in SemiNormedGrp₁.

                          Equations
                            Instances For

                              Use the ConcreteCategory.hom projection for @[simps] lemmas.

                              Equations
                                Instances For
                                  theorem SemiNormedGrp₁.mkHom_apply {M N : Type u} [SeminormedAddCommGroup M] [SeminormedAddCommGroup N] (f : NormedAddGroupHom M N) (i : f.NormNoninc) (x : { carrier := M, str := inst✝ }.carrier) :
                                  (Hom.hom (mkHom f i)) x = f x

                                  The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.

                                  theorem SemiNormedGrp₁.ext {M N : SemiNormedGrp₁} {f₁ f₂ : M N} (h : ∀ (x : M.carrier), (Hom.hom f₁) x = (Hom.hom f₂) x) :
                                  f₁ = f₂
                                  theorem SemiNormedGrp₁.ext_iff {M N : SemiNormedGrp₁} {f₁ f₂ : M N} :
                                  f₁ = f₂ ∀ (x : M.carrier), (Hom.hom f₁) x = (Hom.hom f₂) x
                                  @[simp]
                                  theorem SemiNormedGrp₁.hom_comp {M N O : SemiNormedGrp₁} (f : M N) (g : N O) :
                                  theorem SemiNormedGrp₁.comp_apply {M N O : SemiNormedGrp₁} (f : M N) (g : N O) (r : M.carrier) :
                                  theorem SemiNormedGrp₁.hom_ext {M N : SemiNormedGrp₁} {f g : M N} (hf : Hom.hom f = Hom.hom g) :
                                  f = g
                                  @[simp]
                                  theorem SemiNormedGrp₁.mkHom_hom {M N : SemiNormedGrp₁} (f : M N) :
                                  mkHom (Hom.hom f) = f
                                  @[simp]
                                  theorem SemiNormedGrp₁.inv_hom_apply {M N : SemiNormedGrp₁} (e : M N) (r : M.carrier) :
                                  (Hom.hom e.inv) ((Hom.hom e.hom) r) = r
                                  @[simp]
                                  theorem SemiNormedGrp₁.hom_inv_apply {M N : SemiNormedGrp₁} (e : M N) (s : N.carrier) :
                                  (Hom.hom e.hom) ((Hom.hom e.inv) s) = s
                                  def SemiNormedGrp₁.mkIso {M N : SemiNormedGrp} (f : M N) (i : (SemiNormedGrp.Hom.hom f.hom).NormNoninc) (i' : (SemiNormedGrp.Hom.hom f.inv).NormNoninc) :
                                  { carrier := M.carrier, str := M.str } { carrier := N.carrier, str := N.str }

                                  Promote an isomorphism in SemiNormedGrp to an isomorphism in SemiNormedGrp₁.

                                  Equations
                                    Instances For
                                      theorem SemiNormedGrp₁.coe_of (V : Type u) [SeminormedAddCommGroup V] :
                                      { carrier := V, str := inst✝ }.carrier = V
                                      theorem SemiNormedGrp₁.coe_comp {M N K : SemiNormedGrp₁} (f : M N) (g : N K) :