Moduleexists_root_fromNormalization_kummer_existsUnique_lift.lean
Nyll.AlgebraicCurves.Geometry.Schemes.exists_root_fromNormalization_kummer_existsUnique_lift
60 declarations indexed from sourceView source ↗ Declarations
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.genericPoint_mem
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.preimage_eq_top
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.app_eq
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.KA
DocumentationThe algebra obtained by adjoining a root of the Kummer polynomial over the function field.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.φK
DocumentationThe inclusion of the function field into the Kummer root algebra as a ring morphism.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.fK
DocumentationThe morphism from the spectrum of the Kummer root algebra through the generic point.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secIso
DocumentationThe identification of sections over a nonempty inverse-image open with the Kummer root algebra.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secIso_inv
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secIso_hom
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secIso_hom_app
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secIso_hom_res
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secAlgEquiv
DocumentationThe algebra equivalence identifying sections over the inverse-image open with the Kummer root algebra.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.secAlgEquiv_apply
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section KummerAlgebra
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.algebraMap_germ
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue
DocumentationA section has the specified rational value at every germ on its open domain.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.hasValue_iff_of_mem
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.germToFunctionField_eq
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.res
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.mul
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.pow
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.eq
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasValue.isUnit
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.exists_hasValue
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.root_pow
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval
DocumentationThe homomorphism realizing sections of the normalization as elements of the Kummer root algebra.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval_apply
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval_injective
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.preimage_toNormalization
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval_eq_appLE
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval_res
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.yval_app
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.exists_yval_eq_root
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Yside
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.map_map
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.GoodIdx
DocumentationThe nonempty affine opens contained in a fixed open, used to compare sections locally.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.preimage_le_iSup
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasYVal
DocumentationA section of the normalization has the specified value on every nonempty affine subopen.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.hasYVal_of_yval_eq
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasYVal.res
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasYVal.mul
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasYVal.pow
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasYVal.eq
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.hasYVal_app
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.exists_hasYVal_root
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section YGlue
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.root_div_pow
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Data
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.mem_range_div
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Data
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.exists_data
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Data
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.map_injective_of_eq
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
omit [IsIntegral X] in
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.app_map
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
omit [IsIntegral X] in
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.RootHyp
DocumentationThe equation saying that the chosen global section is a root of the pulled-back section.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.LiftProp
DocumentationA lift to the normalization lies over the given morphism and pulls the distinguished section to the chosen root.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.HasLift
DocumentationThe universal property asserting existence and uniqueness of a lift carrying the distinguished section to each root.
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.rootHyp_comp
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
omit [IsIntegral X] in
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.liftProp_comp
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.rootHyp_res
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
omit [IsIntegral X] in
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.app_res_iff
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.isOpenCover_preimage
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
omit [IsIntegral X] in
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.lift_unique
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.hasLift_of_forall
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Lift
variable (k : ℕ) (g : X.functionField)
variable {k g}
AlgebraicCurves.Geometry.Schemes.Proofs.exists_root_fromNormalization_kummer_existsUnique_lift.KummerLift.toNormalization_app_eq
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
namespace KummerLift
variable {X : Scheme.{u}} [IsIntegral X]
section Bridge
variable (k : ℕ) (g : X.functionField)
AlgebraicGeometry.exists_root_fromNormalization_kummer_existsUnique_lift
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace exists_root_fromNormalization_kummer_existsUnique_lift
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Polynomial
open _root_.TopologicalSpace
open _root_.Opposite
open KummerLift in
Lean source · full declarationtheorem _root_.AlgebraicGeometry.exists_root_fromNormalization_kummer_existsUnique_lift
{R : Type u} [CommRing R]
{X : Scheme.{u}} [IsIntegral X] (f : X ⟶ Spec (CommRingCat.of R))
(hnorm : ∀ x : X, IsIntegrallyClosed (X.presheaf.stalk x))
(k : ℕ) (hk : IsUnit ((k : ℕ) : R))
(g : X.functionField) (hg : g ≠ 0)
(r : ℕ) (U : Fin r → X.Opens) (hU : (⨆ a, U a) = ⊤) (h : Fin r → X.functionField) (hh : ∀ a, h
a ≠ 0)
(hdiv : ∀ a (x : X), x ∈ U a →
g / h a ^ k ∈ (algebraMap (X.presheaf.stalk x) X.functionField).range ∧
h a ^ k / g ∈ (algebraMap (X.presheaf.stalk x) X.functionField).range) :
let π := (Spec.map (CommRingCat.ofHom (algebraMap X.functionField (AdjoinRoot (Polynomial.X ^ k
- Polynomial.C g : Polynomial X.functionField)))) ≫
X.fromSpecStalk (genericPoint X)).fromNormalization
let Y := (Spec.map (CommRingCat.ofHom (algebraMap X.functionField (AdjoinRoot (Polynomial.X ^ k
- Polynomial.C g : Polynomial X.functionField)))) ≫
X.fromSpecStalk (genericPoint X)).normalization
∃ (u : ∀ a, Γ(X, U a)) (T : ∀ a, Γ(Y, π ⁻¹ᵁ (U a))),
(∀ a (x : X) (hx : x ∈ U a),
algebraMap (X.presheaf.stalk x) X.functionField (X.presheaf.germ (U a) x hx (u a)) = g / h
a ^ k) ∧
(∀ a, IsUnit (u a)) ∧
(∀ a, T a ^ k = π.app (U a) (u a)) ∧
(∀ a b, ∃ w : Γ(X, U a ⊓ U b),
(∀ (x : X) (hx : x ∈ U a ⊓ U b),
algebraMap (X.presheaf.stalk x) X.functionField (X.presheaf.germ (U a ⊓ U b) x hx w) = h
b / h a) ∧
X.presheaf.map (homOfLE inf_le_left).op (u a) = w ^ k * X.presheaf.map (homOfLE
inf_le_right).op (u b) ∧
Y.presheaf.map (homOfLE (π.preimage_mono inf_le_left)).op (T a) =
π.app (U a ⊓ U b) w * Y.presheaf.map (homOfLE (π.preimage_mono inf_le_right)).op (T b)) ∧
(∀ a (Z : Scheme.{u}) (z : Z ⟶ X), z ⁻¹ᵁ (U a) = ⊤ →
∀ τ : Γ(Z, ⊤), Z.presheaf.map (homOfLE le_top).op τ ^ k = z.app (U a) (u a) →
∃! s : Z ⟶ Y, s ≫ π = z ∧ s.app (π ⁻¹ᵁ (U a)) (T a) = Z.presheaf.map (homOfLE le_top).op
τ) := by
intro π Y
change ∃ (u : ∀ a, Γ(X, U a)) (T : ∀ a, Γ((fK k g).normalization, (fK k g).fromNormalization ⁻¹ᵁ
(U a))),
(∀ a (x : X) (hx : x ∈ U a),
algebraMap (X.presheaf.stalk x) X.functionField (X.presheaf.germ (U a) x hx (u a)) = g / h
a ^ k) ∧
(∀ a, IsUnit (u a)) ∧
(∀ a, T a ^ k = (fK k g).fromNormalization.app (U a) (u a)) ∧
(∀ a b, ∃ w : Γ(X, U a ⊓ U b),
(∀ (x : X) (hx : x ∈ U a ⊓ U b),
algebraMap (X.presheaf.stalk x) X.functionField (X.presheaf.germ (U a ⊓ U b) x hx w) = h
b / h a) ∧
X.presheaf.map (homOfLE inf_le_left).op (u a) = w ^ k * X.presheaf.map (homOfLE
inf_le_right).op (u b) ∧
((fK k g).normalization).presheaf.map (homOfLE ((fK k g).fromNormalization.preimage_mono
inf_le_left)).op (T a) =
(fK k g).fromNormalization.app (U a ⊓ U b) w *
((fK k g).normalization).presheaf.map (homOfLE ((fK k g).fromNormalization.preimage_mono
inf_le_right)).op (T b)) ∧
(∀ a (Z : Scheme.{u}) (z : Z ⟶ X), z ⁻¹ᵁ (U a) = ⊤ →
∀ τ : Γ(Z, ⊤), Z.presheaf.map (homOfLE le_top).op τ ^ k = z.app (U a) (u a) →
∃! s : Z ⟶ (fK k g).normalization, s ≫ (fK k g).fromNormalization = z ∧
s.app ((fK k g).fromNormalization ⁻¹ᵁ (U a)) (T a) = Z.presheaf.map (homOfLE le_top).op
τ)
have hkX : ∀ V : X.Opens, IsUnit ((k : ℕ) : Γ(X, V)) := fun V => by
have := hk.map ((Scheme.ΓSpecIso (CommRingCat.of R)).inv ≫ f.appLE ⊤ V le_top).hom
rwa [map_natCast] at this
have hk0 : k ≠ 0 := by
rintro rfl
have h1 := hkX (⨆ a, U a)
rw [hU, Nat.cast_zero, isUnit_zero_iff] at h1
exact zero_ne_one h1
obtain ⟨u, T, hrest⟩ := exists_data (k := k) (g := g) hnorm hk0 hg r U h hh hdiv
refine ⟨u, T, fun a x hx => hrest.1 a x hx, hrest.2.1, hrest.2.2.2.1, fun a b => ?_, fun a => ?_⟩
· exact (hrest.2.2.2.2 a b).elim fun w hw => ⟨w, hw.1, hw.2.1, hw.2.2⟩
· have hu : HasValue (U a) (u a) (g / h a ^ k) := hrest.1 a
have huunit : IsUnit (u a) := hrest.2.1 a
have hT : HasYVal k g (U a) (T a) (algebraMap X.functionField (KA k g) (h a)⁻¹ *
AdjoinRoot.root _) :=
hrest.2.2.1 a
have hL : HasLift k g (U a) (u a) (T a) := by
apply hasLift_of_forall
intro i
have := i.2.2.1
have hchar := toNormalization_app_eq k g i.1 i.2.1 _ _ (hT i.1 i.2.1 i.2.2.1 i.2.2.2)
have hmain := AlgebraicGeometry.existsUnique_lift_fromNormalization_kummer_of_isAffineOpen
hnorm k g i.1 i.2.1
i.2.2.1 (hkX i.1) (X.presheaf.map (homOfLE i.2.2.2).op (u a)) (huunit.map _) (h a) (hh a)
(hu.res (homOfLE i.2.2.2)) _ hchar
intro Z z hz τ hτ
exact hmain Z z hz τ hτ
intro Z z hz τ hτ
exact hL Z z hz τ hτ