Documentation

Mathlib.Analysis.Normed.Order.Basic

Ordered normed spaces #

In this file, we define classes for fields and groups that are both normed and ordered. These are mostly useful to avoid diamonds during type class inference.

A NormedOrderedAddGroup is an additive group that is both a NormedAddCommGroup and an OrderedAddCommGroup. This class is necessary to avoid diamonds caused by both classes carrying their own group structure.

Instances
    class NormedOrderedGroup (α : Type u_2) extends OrderedCommGroup , Norm , MetricSpace :
    Type u_2

    A NormedOrderedGroup is a group that is both a NormedCommGroup and an OrderedCommGroup. This class is necessary to avoid diamonds caused by both classes carrying their own group structure.

    Instances

      A NormedLinearOrderedAddGroup is an additive group that is both a NormedAddCommGroup and a LinearOrderedAddCommGroup. This class is necessary to avoid diamonds caused by both classes carrying their own group structure.

      Instances

        A NormedLinearOrderedGroup is a group that is both a NormedCommGroup and a LinearOrderedCommGroup. This class is necessary to avoid diamonds caused by both classes carrying their own group structure.

        Instances

          A NormedLinearOrderedField is a field that is both a NormedField and a LinearOrderedField. This class is necessary to avoid diamonds.

          Instances
            Equations
            • NormedOrderedAddGroup.toNormedAddCommGroup = NormedAddCommGroup.mk
            Equations
            • NormedOrderedGroup.toNormedCommGroup = NormedCommGroup.mk
            Equations
            • NormedLinearOrderedAddGroup.toNormedOrderedAddGroup = NormedOrderedAddGroup.mk
            Equations
            • NormedLinearOrderedGroup.toNormedOrderedGroup = NormedOrderedGroup.mk
            Equations
            • OrderDual.normedOrderedAddGroup = let src := NormedOrderedAddGroup.toNormedAddCommGroup; let src_1 := OrderDual.orderedAddCommGroup; NormedOrderedAddGroup.mk
            theorem OrderDual.normedOrderedAddGroup.proof_1 {α : Type u_1} [NormedOrderedAddGroup α] (a : αᵒᵈ) (b : αᵒᵈ) :
            a b∀ (c : αᵒᵈ), c + a c + b
            Equations
            • OrderDual.normedOrderedGroup = let src := NormedOrderedGroup.toNormedCommGroup; let src_1 := OrderDual.orderedCommGroup; NormedOrderedGroup.mk
            theorem OrderDual.normedLinearOrderedAddGroup.proof_2 {α : Type u_1} [NormedLinearOrderedAddGroup α] (a : αᵒᵈ) (b : αᵒᵈ) :
            min a b = if a b then a else b
            Equations
            • OrderDual.normedLinearOrderedAddGroup = let src := OrderDual.normedOrderedAddGroup; let src_1 := OrderDual.instLinearOrder α; NormedLinearOrderedAddGroup.mk
            theorem OrderDual.normedLinearOrderedAddGroup.proof_3 {α : Type u_1} [NormedLinearOrderedAddGroup α] (a : αᵒᵈ) (b : αᵒᵈ) :
            max a b = if a b then b else a
            Equations
            • OrderDual.normedLinearOrderedGroup = let src := OrderDual.normedOrderedGroup; let src_1 := OrderDual.instLinearOrder α; NormedLinearOrderedGroup.mk
            Equations
            • Additive.normedOrderedAddGroup = let src := Additive.normedAddCommGroup; let src_1 := Additive.orderedAddCommGroup; NormedOrderedAddGroup.mk
            Equations
            • Multiplicative.normedOrderedGroup = let src := Multiplicative.normedCommGroup; let src_1 := Multiplicative.orderedCommGroup; NormedOrderedGroup.mk
            Equations
            • Additive.normedLinearOrderedAddGroup = let src := Additive.normedAddCommGroup; let src_1 := Additive.linearOrderedAddCommGroup; NormedLinearOrderedAddGroup.mk
            Equations
            • Multiplicative.normedlinearOrderedGroup = let src := Multiplicative.normedCommGroup; let src_1 := Multiplicative.linearOrderedCommGroup; NormedLinearOrderedGroup.mk