Compatibility of algebraic operations with metric space structures #
In this file we define mixin typeclasses LipschitzMul, LipschitzAdd,
BoundedSMul expressing compatibility of multiplication, addition and scalar-multiplication
operations with an underlying metric space structure. The intended use case is to abstract certain
properties shared by normed groups and by R≥0.
Implementation notes #
We deduce a ContinuousMul instance from LipschitzMul, etc. In principle there should
be an intermediate typeclass for uniform spaces, but the algebraic hierarchy there (see
UniformGroup) is structured differently.
Class LipschitzAdd M says that the addition (+) : X × X → X is Lipschitz jointly in
the two arguments.
- lipschitz_add : ∃ (C : NNReal), LipschitzWith C fun (p : β × β) => p.1 + p.2
Instances
Class LipschitzMul M says that the multiplication (*) : X × X → X is Lipschitz jointly
in the two arguments.
- lipschitz_mul : ∃ (C : NNReal), LipschitzWith C fun (p : β × β) => p.1 * p.2
Instances
The Lipschitz constant of an AddMonoid β satisfying LipschitzAdd
Equations
- LipschitzAdd.C β = Classical.choose (_ : ∃ (C : NNReal), LipschitzWith C fun (p : β × β) => p.1 + p.2)
Instances For
The Lipschitz constant of a monoid β satisfying LipschitzMul
Equations
- LipschitzMul.C β = Classical.choose (_ : ∃ (C : NNReal), LipschitzWith C fun (p : β × β) => p.1 * p.2)
Instances For
Equations
- (_ : ContinuousAdd β) = (_ : ContinuousAdd β)
Equations
- (_ : ContinuousMul β) = (_ : ContinuousMul β)
Equations
- (_ : LipschitzAdd ↥s) = (_ : LipschitzAdd ↥s)
Equations
- (_ : LipschitzMul ↥s) = (_ : LipschitzMul ↥s)
Equations
- (_ : LipschitzAdd βᵃᵒᵖ) = (_ : LipschitzAdd βᵃᵒᵖ)
Equations
- (_ : LipschitzMul βᵐᵒᵖ) = (_ : LipschitzMul βᵐᵒᵖ)
Equations
- Real.hasLipschitzAdd = (_ : LipschitzAdd ℝ)
Equations
Mixin typeclass on a scalar action of a metric space α on a metric space β both with
distinguished points 0, requiring compatibility of the action in the sense that
dist (x • y₁) (x • y₂) ≤ dist x 0 * dist y₁ y₂ and
dist (x₁ • y) (x₂ • y) ≤ dist x₁ x₂ * dist y 0.
Instances
The typeclass BoundedSMul on a metric-space scalar action implies continuity of the action.
Equations
- (_ : ContinuousSMul α β) = (_ : ContinuousSMul α β)
Equations
If a scalar is central, then its right action is bounded when its left action is.
Equations
- (_ : BoundedSMul αᵐᵒᵖ β) = (_ : BoundedSMul αᵐᵒᵖ β)
Equations
- (_ : LipschitzAdd (Additive α)) = (_ : LipschitzAdd (Additive α))
Equations
- (_ : LipschitzMul (Multiplicative α)) = (_ : LipschitzMul (Multiplicative α))
Equations
- (_ : LipschitzAdd αᵒᵈ) = inst
Equations
- (_ : LipschitzMul αᵒᵈ) = inst
Equations
- (_ : BoundedSMul α ((i : ι) → β i)) = (_ : BoundedSMul α ((i : ι) → β i))
Equations
- (_ : BoundedSMul ((i : ι) → α i) ((i : ι) → β i)) = (_ : BoundedSMul ((i : ι) → α i) ((i : ι) → β i))
Equations
- (_ : BoundedSMul α (β × γ)) = (_ : BoundedSMul α (β × γ))