Documentation

Atlas.AlgebraicGeometryI.code.Lec24GrothendieckBirkhoff

The projective line ℙ¹_k realised as Proj k[x₀, x₁].

Instances For
    noncomputable def GrothendieckBirkhoff.ModulesP1 (k : Type u_1) [Field k] :
    Type (u_1 + 1)

    The category of O_{ℙ¹}-modules on ℙ¹_k.

    Instances For
      noncomputable def GrothendieckBirkhoff.serreTwist (k : Type u_2) [Field k] (d : ) :

      The Serre twisting sheaf O_{ℙ¹}(d) of degree d on ℙ¹_k.

      Instances For

        The predicate that a sheaf of modules E on X is locally free of rank r (a vector bundle of rank r).

        Instances For

          A normalisation condition on a vector bundle on ℙ¹_k, fixing the convention used in the inductive proof of the Grothendieck-Birkhoff splitting theorem.

          Instances For
            theorem GrothendieckBirkhoff.normalization_exists (k : Type u_2) [Field k] (r : ) (E : (P1 k).Modules) (hlf : IsLocallyFreeOfRank (P1 k) E (r + 2)) :
            ∃ (E_norm : (P1 k).Modules), IsLocallyFreeOfRank (P1 k) E_norm (r + 2) IsNormalized k E_norm ∀ (d : Fin (r + 2)), Nonempty (E_norm fun (i : Fin (r + 2)) => serreTwist k (d i))∃ (d' : Fin (r + 2)), Nonempty (E fun (i : Fin (r + 2)) => serreTwist k (d' i))

            Any rank-(r+2) vector bundle on ℙ¹_k can be put into normalised form by twisting, and any splitting of the normalised bundle yields a splitting of the original.

            theorem GrothendieckBirkhoff.section_and_quotient (k : Type u_2) [Field k] (r : ) (E : (P1 k).Modules) (hlf : IsLocallyFreeOfRank (P1 k) E (r + 2)) (hnorm : IsNormalized k E) :
            ∃ (E' : (P1 k).Modules), IsLocallyFreeOfRank (P1 k) E' (r + 1) ∀ (d : Fin (r + 1)), (∀ (i : Fin (r + 1)), d i 0)Nonempty (E' fun (i : Fin (r + 1)) => serreTwist k (d i))∃ (d_full : Fin (r + 2)), Nonempty (E fun (i : Fin (r + 2)) => serreTwist k (d_full i))

            For a normalised rank-(r+2) bundle on ℙ¹, a chosen global section gives a rank-(r+1) quotient E' whose splitting (with non-positive degrees) lifts back to E.

            theorem GrothendieckBirkhoff.degree_bound_from_normalization (k : Type u_2) [Field k] (r : ) (E E' : (P1 k).Modules) (hlf : IsLocallyFreeOfRank (P1 k) E (r + 2)) (hnorm : IsNormalized k E) (hlf' : IsLocallyFreeOfRank (P1 k) E' (r + 1)) (d : Fin (r + 1)) (hd : Nonempty (E' fun (i : Fin (r + 1)) => serreTwist k (d i))) (i : Fin (r + 1)) :
            d i 0

            Normalisation forces the splitting summands of the rank-(r+1) quotient to have non-positive degrees, ensuring the inductive step yields a valid Grothendieck splitting.

            theorem GrothendieckBirkhoff.rank_zero_splitting (k : Type u_2) [Field k] (E : (P1 k).Modules) (hr : IsLocallyFreeOfRank (P1 k) E 0) :
            ∃ (d : Fin 0), Nonempty (E fun (i : Fin 0) => serreTwist k (d i))

            Base case (rank 0): the zero bundle on ℙ¹ splits as an empty direct sum of twists.

            theorem GrothendieckBirkhoff.line_bundle_splitting (k : Type u_2) [Field k] (E : (P1 k).Modules) (hr : IsLocallyFreeOfRank (P1 k) E 1) :
            ∃ (d : Fin 1), Nonempty (E fun (i : Fin 1) => serreTwist k (d i))

            Base case (rank 1): every line bundle on ℙ¹_k is isomorphic to some O_{ℙ¹}(d).

            theorem GrothendieckBirkhoff.inductive_splitting_step (k : Type u_1) [Field k] (r : ) (IH : sr + 1, ∀ (E' : (P1 k).Modules), IsLocallyFreeOfRank (P1 k) E' s∃ (d : Fin s), Nonempty (E' fun (i : Fin s) => serreTwist k (d i))) (E : (P1 k).Modules) (hlf : IsLocallyFreeOfRank (P1 k) E (r + 2)) :
            ∃ (d : Fin (r + 2)), Nonempty (E fun (i : Fin (r + 2)) => serreTwist k (d i))

            Inductive step in the Grothendieck-Birkhoff proof: given the splitting result for all ranks ≤ r + 1, every rank-(r + 2) bundle splits as a direct sum of Serre twists.

            theorem GrothendieckBirkhoff.thm24_1_grothendieck_birkhoff_existence (k : Type u_1) [Field k] (E : (P1 k).Modules) (r : ) (hr : IsLocallyFreeOfRank (P1 k) E r) :
            ∃ (d : Fin r), Nonempty (E fun (i : Fin r) => serreTwist k (d i))

            Grothendieck-Birkhoff (Theorem 24.1, existence): Every rank-r vector bundle on ℙ¹_k is isomorphic to a direct sum ⨁ O_{ℙ¹}(dᵢ) of Serre twists.

            theorem GrothendieckBirkhoff.grothendieck_birkhoff_uniqueness_helper (k : Type u_2) [Field k] (E : (P1 k).Modules) (r : ) (hr : IsLocallyFreeOfRank (P1 k) E r) (d d' : Fin r) (hd : Nonempty (E fun (i : Fin r) => serreTwist k (d i))) (hd' : Nonempty (E fun (i : Fin r) => serreTwist k (d' i))) :
            (List.ofFn d) = (List.ofFn d')

            Helper: Two Grothendieck-Birkhoff splittings of the same bundle agree as multisets of integers.

            theorem GrothendieckBirkhoff.thm24_1_grothendieck_birkhoff_uniqueness (k : Type u_1) [Field k] (E : (P1 k).Modules) (r : ) (hr : IsLocallyFreeOfRank (P1 k) E r) (d d' : Fin r) (hd : Nonempty (E fun (i : Fin r) => serreTwist k (d i))) (hd' : Nonempty (E fun (i : Fin r) => serreTwist k (d' i))) :
            (List.ofFn d) = (List.ofFn d')

            Grothendieck-Birkhoff (Theorem 24.1, uniqueness): The multiset of degrees in the splitting of a vector bundle on ℙ¹_k is uniquely determined.

            theorem GrothendieckBirkhoff.thm24_1_grothendieck_birkhoff (k : Type u_1) [Field k] (E : (P1 k).Modules) (r : ) (hr : IsLocallyFreeOfRank (P1 k) E r) :
            (∃ (d : Fin r), Nonempty (E fun (i : Fin r) => serreTwist k (d i))) ∀ (d d' : Fin r), Nonempty (E fun (i : Fin r) => serreTwist k (d i))Nonempty (E fun (i : Fin r) => serreTwist k (d' i))(List.ofFn d) = (List.ofFn d')

            Grothendieck-Birkhoff (Theorem 24.1, full statement): Every vector bundle on ℙ¹_k splits uniquely (as a multiset of degrees) into a direct sum of Serre twists.