fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0
ComputationsChoiceExponent.eq_exponents₁
Carleson.ToMathlib.RealInterpolation.InterpolatedExponents · Carleson/ToMathlib/RealInterpolation/InterpolatedExponents.lean:1012 to 1030
Mathematical statement
Exact Lean statement
lemma eq_exponents₁ (ht : t ∈ Ioo 0 1) (hq₀ : 0 < q₀) (hq₁ : 0 < q₁) (hq₀q₁ : q₀ ≠ q₁)
(hq : q⁻¹ = (1 - t) * q₀⁻¹ + t * q₁⁻¹) (hq₀' : q₀ ≠ ⊤) :
(q₀⁻¹.toReal / (q₁⁻¹.toReal - q₀⁻¹.toReal)) * (q.toReal - q₀.toReal) = - t.toReal * q.toRealComplete declaration
Lean source
Full Lean sourceLean 4
lemma eq_exponents₁ (ht : t ∈ Ioo 0 1) (hq₀ : 0 < q₀) (hq₁ : 0 < q₁) (hq₀q₁ : q₀ ≠ q₁) (hq : q⁻¹ = (1 - t) * q₀⁻¹ + t * q₁⁻¹) (hq₀' : q₀ ≠ ⊤) : (q₀⁻¹.toReal / (q₁⁻¹.toReal - q₀⁻¹.toReal)) * (q.toReal - q₀.toReal) = - t.toReal * q.toReal := by rw [mul_comm_div, ← mul_div_assoc] have : q₀⁻¹.toReal * (q.toReal - q₀.toReal) = - t.toReal * q.toReal * (q₁⁻¹.toReal - q₀⁻¹.toReal) := by calc _ = (q₀⁻¹.toReal * q.toReal - q₀⁻¹.toReal * q₀.toReal) := by ring _ = (q₀⁻¹.toReal * q.toReal - 1) := by rw [toReal_inv, inv_mul_cancel₀] exact (exp_toReal_pos hq₀ hq₀').ne' _ = (q₀⁻¹.toReal * q.toReal - q⁻¹.toReal * q.toReal) := by rw [toReal_inv, toReal_inv, inv_mul_cancel₀] exact (interp_exp_toReal_pos ht hq₀ hq₁ hq₀q₁ hq).ne' _ = q.toReal * (q₀⁻¹.toReal - q⁻¹.toReal) := by ring _ = _ := by rw [preservation_interpolation ht hq₀ hq₁ hq, one_sub_ioo_toReal ht] ring rw [this, mul_div_cancel_right₀] exact ne_sub_toReal_exp hq₀ hq₁ hq₀q₁