feat(Analysis/Complex): residue theorem for rectangular contours#39232
feat(Analysis/Complex): residue theorem for rectangular contours#39232jerwaynejones wants to merge 1 commit into
Conversation
Adds `Mathlib/Analysis/Complex/RectangleResidue.lean` (644 LoC), filling
the gap between Cauchy–Goursat for rectangles
(`Complex.integral_boundary_rect_eq_zero_of_differentiable_on_off_countable`)
and the Cauchy integral formula for circles. The file proves the
residue formula for rectangular boundary integrals together with a
rotated principal log branch needed to evaluate the left-edge integral
that crosses the standard cut.
Main results:
* `Complex.hasDerivAt_log_neg`: the rotated logarithm
`log_neg z := log (-z) + I*π` has derivative `z⁻¹` on the rotated slit
plane `{z | -z ∈ slitPlane}` (cut on the positive real axis).
* `Complex.boundaryIntegral_inv_sub_eq_two_pi_I`: for `ρ` strictly inside
the rectangle `[z, w]`, `∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi`.
* `Complex.boundaryIntegral_eq_residue_sum`: a parametric residue theorem
for a sum of simple poles plus a holomorphic remainder, packaged as
`Complex.RectangleResidueData`.
* `Complex.boundaryIntegral_single_pole`: the one-pole specialization.
References: Ahlfors §4.5; Stein–Shakarchi Ch. 2 §3 Thm 3.1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 1b6d405437Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Adds
Mathlib/Analysis/Complex/RectangleResidue.lean(644 LoC), filling the gap between Cauchy–Goursat for rectangles (Complex.integral_boundary_rect_eq_zero_of_differentiable_on_off_countable) and the Cauchy integral formula for circles. The file proves the residue formula for rectangular boundary integrals together with a rotated principal log branch needed to evaluate the left-edge integral that crosses the standard cut.Why
Mathlib has Cauchy–Goursat for rectangles and the Cauchy integral formula for circles, but no residue theorem for rectangular contours. This file fills that gap. It was extracted from a downstream Lean 4 formalization project (a conditional proof of Goldbach's conjecture, where contour shifting on rectangles arises naturally in Perron's formula).
Main results
Complex.hasDerivAt_log_neg— the rotated logarithmlog_neg z := log (-z) + I * πhas derivativez⁻¹on the rotated slit plane{z | -z ∈ slitPlane}(cut on the positive real axis).Complex.boundaryIntegral_inv_sub_eq_two_pi_I— forρstrictly inside the rectangle[z, w],∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi.Complex.boundaryIntegral_eq_residue_sum— parametric residue theorem for a sum of simple poles plus a holomorphic remainder, packaged asComplex.RectangleResidueData.Complex.boundaryIntegral_single_pole— the one-pole specialization.Structure
The development proceeds in five stages:
Complex.boundaryIntegralfor the oriented boundary integral over[z, w], with a Cauchy–Goursat wrapper and additivity/scaling lemmas.Complex.log_neg z := log (-z) + I * πwith cut on the positive real axis, plus its derivative and corner-comparison identities with the standardComplex.log.(s − ρ)⁻¹.∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πiforρstrictly inside the rectangle.Complex.RectangleResidueData.References
Status
Draft while CI verifies the build against current
master— the file was developed againstv4.28.0and cherry-picked forward 2942 commits, so import surface changes are possible. Once CI is green I will flip to ready-for-review.🤖 Generated with Claude Code