A Formal Proof of Cauchys Residue Theorem Wenda Li and Lawrence C. - - PowerPoint PPT Presentation

a formal proof of cauchy s residue theorem
SMART_READER_LITE
LIVE PREVIEW

A Formal Proof of Cauchys Residue Theorem Wenda Li and Lawrence C. - - PowerPoint PPT Presentation

A Formal Proof of Cauchys Residue Theorem Wenda Li and Lawrence C. Paulson University of Cambridge { wl302,lp15 } @cam.ac.uk August 21, 2016 1 / 20 a 1 a 2 a n s Informally, suppose f is holomorphic (i.e. complex differentiable) on an


slide-1
SLIDE 1

A Formal Proof of Cauchy’s Residue Theorem

Wenda Li and Lawrence C. Paulson

University of Cambridge {wl302,lp15}@cam.ac.uk

August 21, 2016

1 / 20

slide-2
SLIDE 2

a2 a1 an γ s Informally, suppose f is holomorphic (i.e. complex differentiable)

  • n an open set s except for a finite number of points {a1, a2, ..., an}

and γ is some closed path, Cauchy’s residue theorem states

  • γ

f = 2πi

n

  • k=1

n(γ, ak)Res(f , ak) where

◮ n(γ, ak) is the winding number of γ about ak ◮ Res(f , ak) is the residue of f at ak

2 / 20

slide-3
SLIDE 3

Overview

  • 1. Background: the multivariate analysis library in Isabelle/HOL
  • 2. Main proof of the residue theorem
  • 3. Application to improper integrals
  • 4. Corollaries: the argument principle and Rouch´

e’s theorem

  • 5. Related work
  • 6. Conclusion

3 / 20

slide-4
SLIDE 4

Background: the multivariate analysis library

The multivariate analysis library in Isabelle/HOL

◮ about 70000 LOC (for now) on topology, analysis and linear

algebra

◮ originates from John Harrison’s work in HOL Light

◮ Rn vs. type classes ◮ scripted proofs vs. structured proofs 4 / 20

slide-5
SLIDE 5

Background: contour integration

Contour integration is mathematically defined as

  • γ

f = 1 f (γ(t))γ′(t)dt. In Isabelle/HOL, we have

definition has contour integral :: "(complex ⇒ complex) ⇒ complex ⇒ (real ⇒ complex) ⇒ bool" where "(f has contour integral i) γ ≡ ((λx. f(γ x) * vector derivative γ (at x within {0..1})) has integral i) {0..1}"

and also contour integral of type

(complex ⇒ complex) ⇒ (real ⇒ complex) ⇒ complex

5 / 20

slide-6
SLIDE 6

Background: valid paths

A valid path is a piecewise continuously differentiable function on [0..1].

lemma valid_path_def: fixes γ::"real ⇒ ’a::real_normed_vector" shows "valid_path γ ← → continuous_on {0..1} γ ∧ (∃ s. finite s ∧ γ C1_differentiable_on ({0..1} - s))"

6 / 20

slide-7
SLIDE 7

Background: winding numbers

The winding number n(γ, z) is the number of times the path γ travels counterclockwise around the point z: n(γ, z) = 1 2πi

  • γ

dw w − z A lemma to illustrate this definition is as follows:

lemma winding number valid path: fixes γ::"real ⇒ complex" and z::complex assumes "valid path γ" and "z / ∈ path image γ" shows "winding number γ z = 1/(2*pi*i) * contour integral γ (λw. 1/(w - z))"

7 / 20

slide-8
SLIDE 8

Background: Cauchy’s integral theorem

Cauchy’s integral theorem states: given f is a holomorphic function on an open set s, which contains a closed path γ and its interior, then

  • γ

f = 0

theorem Cauchy_theorem_global: fixes s::"complex set" and f::"complex ⇒ complex" and γ::"real ⇒ complex" assumes "open s" and "f holomorphic_on s" and "valid_path γ" and "pathfinish γ = pathstart γ" and "path_image γ ⊆ s" and "w. w / ∈ s = ⇒ winding_number γ w = 0" shows "(f has_contour_integral 0) γ"

8 / 20

slide-9
SLIDE 9

Main proof: singularities

Cauchy’s integral theorem does not apply when there are singularities. For example, consider f (w) = 1

w so that f has a pole at w = 0,

and γ is the circular path γ(t) = e2πit:

  • γ

dw w = 1 1 e2πit d dt e2πit

  • dt =

1 2πidt = 2πi = 0

9 / 20

slide-10
SLIDE 10

Main proof: residue

The residue of f at z can be defined as Res(f , z) = 1 2πi

  • circ(z)

f where circ(z) is a small counterclockwise circular path around z. z

definition residue ::"(complex ⇒ complex) ⇒ complex ⇒ complex" where "residue f z = (SOME int. ∃ δ>0. ∀ ε>0. ε<δ − → (f has_contour_integral 2*pi*i*int) (circlepath z ε))"

10 / 20

slide-11
SLIDE 11

Main proof: Cauchy’s residue theorem

lemma Residue_theorem: fixes s pts::"complex set" and f::"complex ⇒ complex" and γ::"real ⇒ complex" assumes "open s" and "connected s" and "finite pts" and "f holomorphic_on s-pts" and "valid_path γ" and "pathfinish γ = pathstart γ" and "path_image γ ⊆ s-pts" and "∀ z. (z / ∈ s) − → winding_number γ z = 0" shows "contour_integral γ f = 2*pi*i*( p∈pts. winding_number γ p * residue f p)"

11 / 20

slide-12
SLIDE 12

Main proof: remarks

◮ the core idea to induct on

the number of singularity points

◮ gap in informal proofs

γ s

12 / 20

slide-13
SLIDE 13

Application to improper integrals

The residue theorem can be used to solve improper integrals: ∞

−∞

dx x2 + 1 = π i −i R −R γR CR Proof: let f (z) = 1 z2 + 1. since limR→∞

  • CR f = 0 we have

−∞

dx x2 + 1 = lim

R→∞

  • γR+CR

f

13 / 20

slide-14
SLIDE 14

−∞

dx x2 + 1 = π ⇔ lim

R→∞

  • γR

f = π ⇔ lim

R→∞(

  • γR

f +

  • CR

f ) = π ⇔ lim

R→∞

  • γR+CR

f = 2πiRes(γR + CR, i) = π

def f≡"λx::real. 1/(x^2+1)" def f’≡"λx::complex. 1/(x^2+1)" have "((λR. integral {- R..R} f) − → pi) at_top = ((λR. contour_integral (γR R) f’) − → pi) at_top" also have "... = ((λR. contour_integral (CR R) f’ + contour_integral (γR R) f’) − → pi) at_top" also have "... = ((λR. contour_integral (CR R +++ γR R) f’) − → pi) at_top" also have "..." proof - have "contour_integral (CR R +++ γR R) f’ = pi" when "R>1" for R then show ?thesis qed finally have "((λR. integral {- R..R} (λx. 1 / (x2 + 1))) − → pi) at_top" 14 / 20

slide-15
SLIDE 15

Application to improper integrals (3)

i −i R −R γR CR

lemma improper_Ex: "Lim at_top (λR. integral {- R..R} (λx. 1/(x2+1))) = pi"

Remarks

◮ about 300 LOC ◮ the main difficulty is to show n(γR + CR, i) = 1 and

n(γR + CR, −i) = 0

15 / 20

slide-16
SLIDE 16

Corollaries: the argument principle

The argument principle states: suppose f is holomorphic on a connected open set s except for a finite number of poles and γ is a valid closed path, then

  • γ

f ′ f = 2πi  

z∈zeros

n(γ, z)zorder(f , z) −

  • z∈poles

n(γ, z)porder(f , z)   where

◮ f ′ is the first derivative of f ; ◮ zorder(f , z) and porder(f , z) are the order of a zero and a

pole respectively;

◮ zeros and poles are the zeros and poles respectively of f .

16 / 20

slide-17
SLIDE 17

Corollaries: Rouch´ e’s theorem

Given two functions f and g holomorphic on a connected open set containing a valid path γ, if |f (w)| > |g(w)| ∀w ∈ image of γ then Rouch´ e’s Theorem states

  • z∈zeros(f )

n(γ, z)zorder(f , z) =

  • zeros(f +g)

n(γ, z)zorder(f + g, z)

17 / 20

slide-18
SLIDE 18

Big picture

Cauchy’s residue theorem Rouch´ e’s theorem Roots of a polynomial depend continuously on its coefficients Decision procedure to solve first-order real formulas in progress

18 / 20

slide-19
SLIDE 19

Related work

To the best of our knowledge, our formalization of Cauchy’s residue theorem is novel among major proof assistants.

◮ HOL Light: comprehensive library for complex analysis, to

which it should be not hard to port our result;

◮ Coq: Coquelicot and C-Corn, but they are mainly about real

analysis and some fundamental theorems (e.g. Cauchy’s integral theorem) are not yet available.

19 / 20

slide-20
SLIDE 20

Conclusion

To conclude, I have mainly covered

◮ the multivariate analysis library in Isabelle/HOL ◮ the residue theorem ◮ application to improper integrals ◮ corollaries: the argument principle and Rouch´

e’s theorem Thank you for your attention!

20 / 20