Covering maps involving the complex plane #
In this file, we show that Complex.exp and (· ^ n) (for n ≠ 0) are a covering map on {0}ᶜ.
We also show that any complex polynomial is a covering map on the set of regular values.
theorem Complex.isAddQuotientCoveringMap_exp :
IsAddQuotientCoveringMap (fun (z : ℂ) => ⟨exp z, ⋯⟩) ↥(AddSubgroup.zmultiples (2 * ↑Real.pi * I))
exp : ℂ → ℂ \ {0} is a covering map.
theorem Polynomial.isCoveringMapOn_eval {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (p : Polynomial 𝕜) :
theorem isCoveringMapOn_npow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℕ) (hn : ↑n ≠ 0) :
IsCoveringMapOn (fun (x : 𝕜) => x ^ n) {0}ᶜ
theorem isCoveringMap_npow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℕ) (hn : ↑n ≠ 0) :
(· ^ n) : 𝕜 \ {0} → 𝕜 \ {0} is a covering map (if n ≠ 0 in 𝕜).
theorem isCoveringMap_zpow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℤ) (hn : ↑n ≠ 0) :
(· ^ n) : 𝕜 \ {0} → 𝕜 \ {0} is a covering map (if n ≠ 0 in 𝕜).
theorem isCoveringMapOn_zpow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℤ) (hn : ↑n ≠ 0) :
IsCoveringMapOn (fun (x : 𝕜) => x ^ n) {0}ᶜ
theorem isQuotientCoveringMap_npow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℕ) (hn : ↑n ≠ 0) (surj : Function.Surjective fun (x : 𝕜) => x ^ n) :
IsQuotientCoveringMap (fun (x : 𝕜ˣ) => x ^ n) ↥(powMonoidHom n).ker
theorem Complex.isQuotientCoveringMap_npow (n : ℕ) [NeZero n] :
IsQuotientCoveringMap (fun (z : ℂˣ) => z ^ n) ↥(powMonoidHom n).ker
theorem isQuotientCoveringMap_zpow {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [ProperSpace 𝕜] (n : ℤ) (hn : ↑n ≠ 0) (surj : Function.Surjective fun (x : 𝕜) => x ^ n) :
IsQuotientCoveringMap (fun (x : 𝕜ˣ) => x ^ n) ↥(zpowGroupHom n).ker