Resolution of Singularities in Characteristic Zero

 Resolution of Singularities in Characteristic Zero🔗

This document presents the statements of the Lean library hironaka, a formalization over Mathlib of resolution of singularities in characteristic zero: Hironaka's theorems of 1964 and the functorial and analytic forms given later by Kollár, Włodarczyk, and Bierstone and Milman. Every theorem it presents is proved in the library and checked by Lean's kernel. The document explains what each theorem says, how the formal statement relates to the source it follows, and what every definition used by the statements means; the proofs are only sketched.

The document has five parts. The introduction recalls what resolution of singularities and principalization are, lists the theorems, and explains how to read a node. Two parts then describe the objects and operations in terms of which the theorems are stated, one for schemes and one for analytic geometry. The main theorems follow. They open with two statements whose files import Mathlib only: resolution of a variety by a single blow-up, which is Hironaka's Main Theorem I, and the local monomialization of a real-analytic function. Then come two strands: algebraic schemes, with Hironaka's Main Theorems I, II and II(N) and Corollaries 1 and 3, Kollár's functorial principalization and resolution and his strong resolution of a variety, and Włodarczyk's embedded desingularization; and analytic manifolds and spaces, with Hironaka's Main Theorem II″(N), Bierstone–Milman's principalization, Włodarczyk's functorial principalization and embedded desingularization, and the resolution of real- and complex-analytic spaces [Kol07, Theorem 45]. In the section of each theorem, the properties it asserts and the inputs particular to it are stated before the theorem; a property asserted by several theorems is stated at the first of them. The appendix holds a dictionary from the classical notions to their names in Mathlib and the library, the conventions and the sources. Every declaration on which a main theorem's statement depends is embedded at some node; the dependency graph and the summary at the end are computed from the Lean declarations.

The library was produced by an automated formalization process, directed and audited at Resolution, following the human-written sources of its bibliography.

Contents

  1. 1. Introduction
    1. 1.1. Resolution of singularities
    2. 1.2. Principalization
    3. 1.3. Functorial resolution
    4. 1.4. The resolution theorems of the library
    5. 1.5. How to read a node
    6. 1.6. Where to start
  2. 2. Schemes
    1. 2.1. Algebraic k-schemes, singularities and normal crossings
    2. 2.2. The blow-up along an ideal sheaf
    3. 2.3. Projective morphisms
    4. 2.4. Successions of blow-ups and functors
  3. 3. Analytic geometry
    1. 3.1. Ideal sheaves, submanifolds and blow-ups
    2. 3.2. Finite successions, compatible families and pull-backs
    3. 3.3. Analytic spaces
  4. 4. Main theorems
    1. 4.1. Resolution of singularities in Mathlib's language
    2. 4.2. Algebraic schemes
    3. 4.3. Analytic manifolds and analytic spaces
  5. 5. Appendix
    1. 5.1. Conventions and sources
  6. Dependency Graph
  7. Blueprint Summary
  8. Blueprint Bibliography