Update test.lean

This commit is contained in:
Stefan Kebekus 2024-04-24 10:09:34 +02:00
parent 72ce984d03
commit d1de7fee33
1 changed files with 40 additions and 13 deletions

View File

@ -1,4 +1,8 @@
import Mathlib.Analysis.Complex.CauchyIntegral import Mathlib.Analysis.Complex.CauchyIntegral
--import Mathlib.Analysis.Complex.Module
open ComplexConjugate
#check DiffContOnCl.circleIntegral_sub_inv_smul #check DiffContOnCl.circleIntegral_sub_inv_smul
@ -18,7 +22,7 @@ theorem CauchyIntegralFormula :
#check CauchyIntegralFormula #check CauchyIntegralFormula
#check HasDerivAt.continuousAt #check HasDerivAt.continuousAt
#check Real.log #check Real.log
#check Complex.log #check ComplexConjugate.conj
#check Complex.exp #check Complex.exp
theorem SimpleCauchyFormula : theorem SimpleCauchyFormula :
@ -49,29 +53,52 @@ theorem JensenFormula₂ :
{f : }, -- Holomorphic function {f : }, -- Holomorphic function
Differentiable f Differentiable f
→ (∀ z ∈ Metric.ball 0 R, f z ≠ 0) → (∀ z ∈ Metric.ball 0 R, f z ≠ 0)
→ (∫ (θ : ) in Set.Icc 0 (2 * π), Complex.log ‖f (circleMap 0 R θ)‖ ) = 2 * π * log ‖f 0‖ := by → (∫ (θ : ) in Set.Icc 0 (2 * π), Complex.log ‖f (circleMap 0 R θ)‖ ) = 2 * π * Complex.log ‖f 0‖ := by
intro r f fHyp₁ fHyp₂ intro r f fHyp₁ fHyp₂
have : (fun θ ↦ Complex.log ↑‖f (circleMap 0 r θ)‖) = (fun θ ↦ ((deriv (circleMap 0 r) θ)) • ((deriv (circleMap 0 r) θ)⁻¹ • Complex.log ↑‖f (circleMap 0 r θ)‖)) := by /- We treat the trivial case r = 0 separately. -/
funext θ by_cases rHyp : r = 0
rw [← smul_assoc] rw [rHyp]
simp
left
unfold ENNReal.ofReal
simp
rw [max_eq_left (mul_nonneg zero_le_two pi_nonneg)]
simp
/- From hereon, we assume that r ≠ 0. -/
rw [smul_eq_mul, smul_eq_mul] /- Replace the integral over 0 … 2π by a circle integral -/
rw [mul_inv_cancel, one_mul] suffices (∮ (z : ) in C(0, r), -(Complex.I * z⁻¹ * Complex.log ↑(Complex.abs (f z)))) = 2 * ↑π * Complex.log ↑‖f 0‖ from by
have : ∫ (θ : ) in Set.Icc 0 (2 * π), Complex.log ↑‖f (circleMap 0 r θ)‖ = (∮ (z : ) in C(0, r), -(Complex.I * z⁻¹ * Complex.log ↑(Complex.abs (f z)))) := by
have : (fun θ ↦ Complex.log ‖f (circleMap 0 r θ)‖) = (fun θ ↦ ((deriv (circleMap 0 r) θ)) • ((deriv (circleMap 0 r) θ)⁻¹ • Complex.log ↑‖f (circleMap 0 r θ)‖)) := by
funext θ
rw [← smul_assoc, smul_eq_mul, smul_eq_mul, mul_inv_cancel, one_mul]
simp
exact rHyp
rw [this]
simp
let tmp := circleIntegral_def_Icc (fun z ↦ -(Complex.I * z⁻¹ * (Complex.log ↑‖f z‖))) 0 r
simp at tmp
rw [← tmp]
rw [this]
simp
have : ∀ z : , Complex.log (Complex.abs z) = 1/2 * Complex.log z + 1/2 * Complex.log (conj z) := by
intro z
have : ∃ r φ : , z = r * Complex.exp (φ * Complex.I) := by
sorry
obtain ⟨r, φ, h⟩ := this
rw [h]
sorry sorry
rw [this]
simp
let XX := circleIntegral_def_Icc (fun z ↦ -(Complex.I * z⁻¹ * (Complex.log ↑‖f z‖))) 0 r
simp at XX
rw [← XX]