Documentation

LeanPool.LocalComplexGeometry.Palomar

Palomar-facing theorem surface #

The theorem statements in this module use only Mathlib objects and the elementary definition of a holomorphic germ. The implementation-specific coordinate, quotient-basis, and local-biholomorphism structures remain in the proof development and are eliminated from the public statement surface.

theorem LocalComplexGeometry.holomorphicGerm_isNoetherian (n : ) :
have O := fun (k : ) => { carrier := {phi : (nhds 0).Germ | ∃ (f : (Fin k)), AnalyticAt f 0 f = phi}, mul_mem' := , one_mem' := , add_mem' := , zero_mem' := , neg_mem' := }; IsNoetherianRing (O n)

Ruckert's basis theorem. The analytic function-germ ring is Noetherian in every finite complex dimension. The ring is defined locally in the statement so the compared type contains only Mathlib constants.

theorem LocalComplexGeometry.hypersurface_finiteProjection :
let E := fun (k : ) => Fin k; let G := fun (k : ) => (nhds 0).Germ ; let O := fun (k : ) => { carrier := {phi : G k | ∃ (f : E k), AnalyticAt f 0 f = phi}, mul_mem' := , one_mem' := , add_mem' := , zero_mem' := , neg_mem' := }; ∀ {n : } {f : (O (n + 1))}, f 0Filter.Germ.value f = 0∃ (L : E (n + 1) ≃L[] E (n + 1)) (d : ) (H : E (n + 1)) (F : E (n + 1)) (g : (O (n + 1))), 0 < d AnalyticAt H 0 H = f AnalyticAt F 0 F = ↑(H L) g = F have I := Ideal.span {g}; have q := Ideal.Quotient.mk I; (∃ (ι : (O n) →+* (O (n + 1))) (w : (O (n + 1))), (∀ (a : (O n)) (A : E n), AnalyticAt A 0A = a(↑fun (x : E (n + 1)) => A fun (i : Fin n) => x i.castSucc) = (ι a)) (↑fun (x : E (n + 1)) => x (Fin.last n)) = w ∀ (y : (O (n + 1)) I), ∃! c : Fin d(O n), y = i : Fin d, q (ι (c i) * w ^ i)) ∃ (a : Fin dE n) (u : E (n + 1)) (U : Set (E n)) (R : ), IsOpen U 0 U IsPreconnected U 0 < R AnalyticOnNhd F {x : E (n + 1) | (fun (i : Fin n) => x i.castSucc) U x (Fin.last n) < R} (∀ (i : Fin d), AnalyticOnNhd (a i) U) AnalyticOnNhd u {x : E (n + 1) | (fun (i : Fin n) => x i.castSucc) U x (Fin.last n) < R} (∀ (i : Fin d), a i 0 = 0) (∀ (x : E (n + 1)), (fun (i : Fin n) => x i.castSucc) Ux (Fin.last n) < RF x = u x * (x (Fin.last n) ^ d + i : Fin d, (a i fun (j : Fin n) => x j.castSucc) * x (Fin.last n) ^ i)) (∀ (x : E (n + 1)), (fun (i : Fin n) => x i.castSucc) Ux (Fin.last n) < Ru x 0) (∀ zU, ∀ (w : ), w = Rw ^ d + i : Fin d, a i z * w ^ i 0) (∀ zU, ∀ (w : ), w = R(F fun (i : Fin (n + 1)) => Fin.lastCases w z i) 0) (∀ zU, {w : | w < R (F fun (i : Fin (n + 1)) => Fin.lastCases w z i) = 0}.Finite) (∀ zU, {w : | w < R (F fun (i : Fin (n + 1)) => Fin.lastCases w z i) = 0}.ncard d) (Function.Surjective fun (x : { x : E (n + 1) // (fun (i : Fin n) => x i.castSucc) U x (Fin.last n) < R F x = 0 }) => fun (i : Fin n) => x i.castSucc, ) IsProperMap fun (x : { x : E (n + 1) // (fun (i : Fin n) => x i.castSucc) U x (Fin.last n) < R F x = 0 }) => fun (i : Fin n) => x i.castSucc,

Finite projection for a nontrivial analytic hypersurface germ.

This compared wrapper defines the analytic-germ rings locally, so its type is Mathlib-only. It is definitionally the expanded implementation theorem above.

theorem LocalComplexGeometry.holomorphic_constantRank_normalForm {n m r : } {F : (Fin n)Fin m} {a : Fin n} (hF : AnalyticAt F a) (hrn : r n) (hrm : r m) (hconst : ∀ᶠ (x : Fin n) in nhds a, Module.finrank (↑(fderiv F x)).range = r) :
∃ (sourceCoord : (Fin n)Fin n) (sourceInv : (Fin n)Fin n) (targetCoord : (Fin m)Fin m) (targetInv : (Fin m)Fin m), sourceCoord a = 0 sourceInv 0 = a targetCoord (F a) = 0 targetInv 0 = F a AnalyticAt sourceCoord a AnalyticAt sourceInv 0 AnalyticAt targetCoord (F a) AnalyticAt targetInv 0 ((fun (x : Fin n) => sourceInv (sourceCoord x)) =ᶠ[nhds a] fun (x : Fin n) => x) ((fun (x : Fin n) => sourceCoord (sourceInv x)) =ᶠ[nhds 0] fun (x : Fin n) => x) ((fun (y : Fin m) => targetInv (targetCoord y)) =ᶠ[nhds (F a)] fun (y : Fin m) => y) ((fun (y : Fin m) => targetCoord (targetInv y)) =ᶠ[nhds 0] fun (y : Fin m) => y) (fun (x : Fin n) => targetCoord (F (sourceInv x))) =ᶠ[nhds 0] fun (x : Fin n) (j : Fin m) => if h : j < r then x j, else 0

The holomorphic constant-rank normal form in direct coordinates.

theorem LocalComplexGeometry.localAnalyticNullstellensatz {n s : } {f : Fin s(Fin n)} {g : (Fin n)} (hf : ∀ (i : Fin s), AnalyticAt (f i) 0) (hg : AnalyticAt g 0) (hzero : ∀ᶠ (x : Fin n) in nhds 0, (∀ (i : Fin s), f i x = 0)g x = 0) :
∃ (N : ), 0 < N ∃ (h : Fin s(Fin n)), (∀ (i : Fin s), AnalyticAt (h i) 0) (fun (x : Fin n) => g x ^ N) =ᶠ[nhds 0] fun (x : Fin n) => i : Fin s, h i x * f i x

Ruckert's local analytic Nullstellensatz.