Hölder triples #
This file defines a new class: ENNReal.HolderTriple
which takes arguments p q r : ℝ≥0∞
,
with r
marked as a semiOutParam
, and states that p⁻¹ + q⁻¹ = r⁻¹
. This is exactly the
condition for which Hölder's inequality is valid (see MeasureTheory.Memℒp.smul
).
This allows us to declare a heterogeneous scalar multiplication (HSMul
) instance on
MeasureTheory.Lp
spaces.
In this file we provide many convenience lemmas in the presence of a HolderTriple
instance.
All these are easily provable from facts about ℝ≥0∞
, but it's convenient not to be forced
to reprove them each time.
For convenience we also define ENNReal.HolderConjugate
(with arguments p q
) as an
abbreviation for ENNReal.HolderTriple p q 1
.
A class stating that p q r : ℝ≥0∞
satisfy p⁻¹ + q⁻¹ = r⁻¹
.
This is exactly the condition for which Hölder's inequality is valid
(see MeasureTheory.Memℒp.smul
).
When r := 1
, one generally says that p q
are Hölder conjugate.
This class exists so that we can define a heterogeneous scalar multiplication
on MeasureTheory.Lp
, and this is why r
must be marked as a
semiOutParam
. We don't mark it as an outParam
because this would
prevent Lean from using HolderTriple p q r
and HolderTriple p q r'
within a single proof, as may be occasionally convenient.
Instances
An abbreviation for ENNReal.HolderTriple p q 1
, this class states p⁻¹ + q⁻¹ = 1
.
Equations
- p.HolderConjugate q = p.HolderTriple q 1
Instances For
Hölder triples #
This is not marked as an instance so that Lean doesn't always find this one
and a more canonical value of r
can be used.
assumes q ≠ 0
instead of r ≠ 0
.