- Boxes
- definitions
- Ellipses
- theorems and lemmas
- Orange (dashed) border
- the statement of this result is ready to be formalized; all prerequisites are done
- Red border
- the statement of this result is not ready to be formalized; the blueprint needs more work
- Orange (gradient) background
- the proof of this result is ready to be formalized; all prerequisites are done
- Green border
- the statement of this result is formalized
- Green background
- the proof of this result is formalized
- Dark green background
- the proof of this result and all its ancestors are formalized
The induced homotopy evaluates by the expected formula \(\widehat H(s,t)=H(s,\exp (2\pi i t))\).
theorem circleLoopHomotopy_apply
[TopologicalSpace X] {f g : C(Circle, X)}
(H : ContinuousMap.Homotopy f g) (x : I × I) :
circleLoopHomotopy H x =
H (x.1, Circle.exp (2 * Real.pi * (x.2 : ℝ)))
At the right endpoint of the homotopy parameter, the induced loop homotopy recovers the associated loop of the terminal map.
theorem circleLoopHomotopy_one_left
[TopologicalSpace X] {f g : C(Circle, X)}
(H : ContinuousMap.Homotopy f g) (t : I) :
circleLoopHomotopy H (1, t) =
(ContinuousMap.circleLoop g) t
At the left endpoint of the homotopy parameter, the induced loop homotopy recovers the associated loop of the initial map.
theorem circleLoopHomotopy_zero_left
[TopologicalSpace X] {f g : C(Circle, X)}
(H : ContinuousMap.Homotopy f g) (t : I) :
circleLoopHomotopy H (0, t) =
(ContinuousMap.circleLoop f) t
If a map from the unit circle to \(\mathbb {C}^\times \) extends to the closed unit disk through maps into \(\mathbb {C}^\times \), then its winding number is zero.
theorem windingNumber_eq_zero_of_exists_extension
{f : C(Circle, ℂˣ)}
{F : C(Metric.closedBall (0 : ℂ) 1, ℂˣ)}
(hF :
∀ z : Circle,
F (Circle.toClosedUnitDisk z) = f z) :
windingNumber f = 0
The same vanishing result holds for extensions valued in the nonzero-complex subtype, after transporting through the units/nonzero bridge.
theorem windingNumber_eq_zero_of_exists_extension'
{f : C(Circle, ℂˣ)}
{F : C(Metric.closedBall (0 : ℂ) 1,
{z : ℂ // z ≠ 0})}
(hF :
∀ z : Circle,
F (Circle.toClosedUnitDisk z) =
ContinuousMap.toNonzeroSubtype f z) :
windingNumber f = 0
After coercing to \(\mathbb {C}\), the map obtained by passing from the nonzero subtype to units has the same values as the original map.
theorem coe_fromNonzeroSubtype_apply
[TopologicalSpace α] (f : C(α, Cstar)) (x : α)
:
((ContinuousMap.fromNonzeroSubtype f x : ℂˣ) :
ℂ) = (f x : ℂ)
After coercing to \(\mathbb {C}\), the disk-valued units map evaluates as \(p(Rz)\).
theorem coe_mapClosedUnitDiskUnits_apply
(p : Polynomial ℂ) (R : ℝ)
(hR :
∀ z : Metric.closedBall (0 : ℂ) 1,
p.eval ((R : ℂ) * z) ≠ 0)
(z : Metric.closedBall (0 : ℂ) 1) :
((Polynomial.mapClosedUnitDiskUnits p R hR z :
ℂˣ) : ℂ) = p.eval ((R : ℂ) * z)
Suppose that \(\omega \colon [ a, b ]\to \mathbb {C}\) is a loop and \(\omega (t)\in Cstar\) for all \(t\in [ a, b ]\). Suppose that \(H\colon [ a, b ]\times [ 0, 1 ]\to \mathbb {C}\) is a homotopy of loops from \(\omega \) to a constant loop and \(H(t,s)\in Cstar\) for all \((t,s)\in [ a, b ]\times [ 0, 1 ]\). Then the winding number of \(\omega \) is zero.
Let \(\omega \colon [ a, b]\to \mathbb {C}\) be a loop with \(\omega (t)\in Cstar\) for all \(t\in [ a, b]\). There is a lift \(\tilde\omega \colon [ a, b]\to \mathbb {C}\) of \(\omega \) through \(CSexp\). There is a constant \(w(\omega )\in \mathbb {Z}\) such that for every lift \(\tilde\omega \colon [ a, b]\to \mathbb {C}\) the winding number of \(\tilde\omega \) is \(w(\omega )\).
\(\tilde S\subset \mathbb {C}\) is the subset \(\{ r+\theta * I|r,\theta \in \mathbb {R}\text{\ and\ } \theta \not= (2k+1)\pi \text{ for any } k\in \mathbb {Z}\} \).
Let \(\widetilde{PBlog}\colon T\times \mathbb {Z}\to S\times \mathbb {Z}\) be defined by \(\widetilde{PBlog}(z,n)=(PBlog(z),n)\) for all \(z\in T\) and \(n\in \mathbb {Z}\).
Suppose given a loop \(\omega \colon a\colon [a, b]\to \mathbb {C}\) with \(\omega (t)\in Cstar\) for all \(t\in [a, b]\), and given a lift \(\tilde\omega \) of \(\omega \) through \(CSexp\) the winding number of the lift \(\tilde\omega \), denoted \(w(\tilde\omega )\), is \((\tilde\omega _x(b)-\tilde\omega _x(a))/2\pi *I\).
Let \(\omega \colon [a, b]\to \mathbb {C}\) be continuous with \(\omega (t)\in Cstar\) for all \(t\in [a ,b]\). Suppose that \(\tilde\omega \) and \(\tilde\omega '\) are lifts of \(\omega \) through \(CSexp\). Then DefWNlift\((\tilde\omega )\in \mathbb {Z}\) and DefWNlift\((\tilde\omega ')=\)DefWNlift\((\tilde\omega )\).
Two lifts of the same path differ by a constant integral multiple of \(2\pi i\).
theorem eq_add_int_mul_two_pi_I_of_lifts
{z₀ z₁ : Cstar} (γ : Path z₀ z₁)
(Γ₀ Γ₁ : C(I, ℂ))
(hΓ₀ : ∀ t, Complex.exp (Γ₀ t) = (γ t : ℂ))
(hΓ₁ : ∀ t, Complex.exp (Γ₁ t) = (γ t : ℂ)) :
∃ n : ℤ, ∀ t, Γ₁ t =
Γ₀ t + n * (2 * Real.pi * Complex.I)
Any other lift of the same path with the same starting point agrees with the canonical lifted path.
theorem eq_expLift
{z₀ z₁ : Cstar} (γ : Path z₀ z₁) (w0 : ℂ)
(hw0 : Complex.exp w0 = (z₀ : ℂ))
(Γ : C(I, ℂ))
(hlift : ∀ t, Complex.exp (Γ t) = (γ t : ℂ))
(h0 : Γ 0 = w0) :
Γ = Path.expLift γ w0 hw0
If \(\omega \colon [ a, b ]\to \mathbb {C}\) and \(\omega '\colon [ a, b ]\to \mathbb {C}\) are loops with \(\omega (t) , \omega '(t) \in Cstar\) for all \(t\in [ a, b ]\) and if \(H\colon [ a, b ]\times [ 0, 1 ]\to \mathbb {C}\) is a homotopy of loops from \(\omega \) to \(\omega '\) with \(H(t,s)\in Cstar\) for all \(t\in [ a, b ]\) and \(s\in [ 0, 1 ]\), then \(w(\omega )=w(\omega ')\)
For sufficiently large \(R\), the restriction of a nonconstant polynomial to the circle of radius \(R\) has winding number equal to the degree of the polynomial.
theorem eventually_windingNumber_eq_natDegree
(p : Polynomial ℂ) (hdeg : 0 < p.natDegree) :
∃ R0 : ℝ, 0 < R0 ∧ ∀ R : ℝ, R0 ≤ R →
∃ f : C(Circle, ℂˣ), (∀ z, (f z : ℂ) = p.eval
((R : ℂ) * z)) ∧ ContinuousMap.windingNumber f
= (p.natDegree : ℤ)
If two maps into \(\Bbbk ^\times \) satisfy the walking-dog inequality \(\lVert f(x)-g(x)\rVert {\lt} \lVert f(x)\rVert \) pointwise, then they are homotopic through maps into \(\Bbbk ^\times \).
theorem exists_homotopy_of_norm_sub_lt
[TopologicalSpace α] [RCLike 𝕜]
{f g : C(α, 𝕜ˣ)}
(hclose :
∀ z : α, ‖(f z : 𝕜) - g z‖ <
‖(f z : 𝕜)‖) :
Nonempty (ContinuousMap.Homotopy f g)
Let \(A\) be a topological space, let \(H\colon [0,1]\times A\to Cstar\) be continuous, and let \(f\colon A\to \mathbb {C}\) be continuous. Assume that
for all \(a\in A\). Then there is a unique continuous map
such that \(\tilde H(0,a)=f(a)\) for all \(a\in A\) and \(CSexp(\tilde H(t,a))=H(t,a)\) for all \((t,a)\in [0,1]\times A\).
Given a path in \(\mathbb {C}\setminus \{ 0\} \) and a chosen logarithm of its starting point, lift the path through the covering map \(\exp \colon \mathbb {C}\to \mathbb {C}\setminus \{ 0\} \).
noncomputable def expLift
{z₀ z₁ : Cstar} (γ : Path z₀ z₁) (w0 : ℂ)
(hw0 : Complex.exp w0 = (z₀ : ℂ)) :
C(I, ℂ)
Given \(a,b\in \mathbb {R}\) with \(a {\lt} b\), a path \(\omega \colon [ a , b]\to \mathbb {C}\) with \(\omega (t)\not=0\) for all \(t\in [ a, b]\), and \(\tilde a_0\in CSexp^{-1}(\omega (a))\), there is a unique map \(\tilde\omega \colon [ a, b ]\to \mathbb {C}\) with \(\tilde\omega (a)=\tilde a_0\) and \(exp(\tilde\omega )=\omega \).
Suppose \(f\colon E\to X\) is a map between topological spaces and \(U\subset X\) is an open subset and there is a trivialization for \(f\) on \(U\). Suppose also that there are homeomorphisms \(\varphi \colon X\to X\) and \(\tilde\varphi \colon E\to E\) with \(f\circ \tilde\varphi =\varphi \circ f\). Then there is a trivialization for \(f\) on \(\varphi (U)\).
For a nonconstant complex polynomial, the leading term eventually dominates the sum of the lower terms on circles of large radius.
theorem leadingTerm_dominates_on_circle
(p : Polynomial ℂ) (hdeg : 0 < p.natDegree) :
∃ R0 : ℝ, 0 < R0 ∧ ∀ R : ℝ, R0 ≤ R →
∀ z : Circle, ‖p.eval ((R : ℂ) * z) -
p.leadingCoeff * (((R : ℂ) * z) ^
p.natDegree)‖ < ‖p.leadingCoeff * (((R : ℂ) *
z) ^ p.natDegree)‖
If a polynomial has no zeros on the closed unit disk of radius \(R\), then \(z\mapsto p(Rz)\) defines a map from that disk to \(\mathbb {C}^\times \).
noncomputable def mapClosedUnitDiskUnits
(p : Polynomial ℂ) (R : ℝ)
(hR :
∀ z : Metric.closedBall (0 : ℂ) 1,
p.eval ((R : ℂ) * z) ≠ 0) :
C(Metric.closedBall (0 : ℂ) 1, ℂˣ)
Loops in \(\mathbb {C}\setminus \{ 0\} \) that are freely homotopic through loops have the same winding number.
theorem windingNumber_eq_of_homotopy
{z z' : Cstar} (γ : Path z z)
(γ' : Path z' z') (H : C(I × I, Cstar))
(hhom : ContinuousMap.IsLoopHomotopy H)
(hzero : ∀ t, H (0, t) = γ t)
(hone : ∀ t, H (1, t) = γ' t) :
Path.windingNumber γ = Path.windingNumber γ'
If \(\Gamma \) is any lift of a loop in \(\mathbb {C}\setminus \{ 0\} \), then the endpoint quotient \((\Gamma (1)-\Gamma (0))/(2\pi i)\) computes the winding number.
theorem windingNumber_eq_of_lift
{z : Cstar} (γ : Path z z) (Γ : C(I, ℂ))
(hlift : ∀ t, Complex.exp (Γ t) = (γ t : ℂ)) :
(Γ 1 - Γ 0) / (2 * Real.pi * Complex.I) =
Path.windingNumber γ
\(f\colon X\to Y\) a local trivialization for \(f\) on \(U\) is:
an open subset \(U\subset Y\)
a discrete space set \(I\)
a homeomorphism \(\varphi \colon f^{-1}(U)\to U\times I\)
such that letting \(p_1\colon U\times I\to U\) be the projection onto the first factor, we have \(p_1\circ \varphi (x)=f(x)\) for all \(x\in f^{-1}(U)\)
Freely homotopic loops in \(\mathbb {C}^\times \) have the same winding number.
theorem unitsWindingNumber_eq_of_homotopy
{u u' : ℂˣ} (γ : Path u u) (γ' : Path u' u')
(H : C(I × I, ℂˣ))
(hhom : ContinuousMap.IsLoopHomotopy H)
(hzero : ∀ t, H (0, t) = γ t)
(hone : ∀ t, H (1, t) = γ' t) :
Path.unitsWindingNumber γ =
Path.unitsWindingNumber γ'
Any exponential lift of a loop in \(\mathbb {C}^\times \) computes its winding number by the same endpoint quotient formula.
theorem unitsWindingNumber_eq_of_lift
{u : ℂˣ} (γ : Path u u) (Γ : C(I, ℂ))
(hlift : ∀ t, Complex.exp (Γ t) = (γ t : ℂ)) :
(Γ 1 - Γ 0) / (2 * Real.pi * Complex.I) =
Path.unitsWindingNumber γ
Let \(p(z)\) be a complex polynomial of degree \(k{\gt}0\) given by \(p(z)=\sum _{i=0}^k\alpha _iz^{k-i}\) with \(α_i∈ℂ\) for all \(i\) and \(α_0\not= 0\). Then for \(R\) sufficiently large, the map \(f : S^1\to \mathbb {C}\) given by \(f(z)= p(R* z)\) for \(z\in S^1\) has winding number \(k\).
For any \(\alpha _0\in \mathbb {C}\) and any \(k\in \mathbb N\), define \(\psi _{\alpha _0,k}\colon \mathbb {C}\to \mathbb {C}\) by \(\psi _{\alpha _0,k}(z)=\alpha _0 z^k\). Then for any \(R{\gt}0\), if \(\alpha _0\not=0\), the winding number of the restriction of \(\psi _{\alpha _0,k}\) to the circle of radius \(R\) is \(k\).