Documentation

Atlas.ArithmeticGeometry.code.CurveTheory

theorem ArithmeticGeometry.dvr_exists_normalizer {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] {n : ℕ} (f : Fin (n + 1) → K) (hne : ∃ (i : Fin (n + 1)), f i ≠ 0) :
∃ (j : Fin (n + 1)), f j ≠ 0 ∧ ∀ (i : Fin (n + 1)), IsLocalization.IsInteger R (f i * (f j)⁻¹)
structure ArithmeticGeometry.RationalMapToProj (K : Type u_1) [Field K] (n : ℕ) :
Type u_1
  • coords : Fin (n + 1) → K
  • coords_ne_zero : ∃ (i : Fin (n + 1)), self.coords i ≠ 0
Instances For
    Instances For
      def ArithmeticGeometry.RationalMapToProj.ExtendsMorphism {K : Type u_1} [Field K] {n : ℕ} (φ : RationalMapToProj K n) {P : Type u_2} (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
      Instances For
        structure ArithmeticGeometry.MorphismToProj (K : Type u_1) [Field K] (n : ℕ) {P : Type u_2} (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
        Type u_1
        Instances For
          theorem ArithmeticGeometry.SmoothProjectiveCurve.rational_map_is_morphism {K : Type u_1} [Field K] {P : Type u_2} {n : ℕ} (φ : RationalMapToProj K n) (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [∀ (p : P), IsDiscreteValuationRing (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
          def ArithmeticGeometry.SmoothProjectiveCurve.rational_map_extends_to_morphism {K : Type u_1} [Field K] {P : Type u_2} {n : ℕ} (φ : RationalMapToProj K n) (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [∀ (p : P), IsDiscreteValuationRing (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
          Instances For
            structure ArithmeticGeometry.RationalMapToProjectiveVariety (K : Type u_1) [Field K] (n : ℕ) (V : Set (Fin (n + 1) → K)) extends ArithmeticGeometry.RationalMapToProj K n :
            Type u_1
            Instances For
              def ArithmeticGeometry.RationalMapToProjectiveVariety.IsMorphism {K : Type u_1} [Field K] {n : ℕ} {V : Set (Fin (n + 1) → K)} (φ : RationalMapToProjectiveVariety K n V) {P : Type u_2} (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
              Instances For
                theorem ArithmeticGeometry.SmoothProjectiveCurve.rational_map_to_projective_variety_is_morphism {K : Type u_1} [Field K] {P : Type u_2} {n : ℕ} {V : Set (Fin (n + 1) → K)} (φ : RationalMapToProjectiveVariety K n V) (R : P → Type u_3) [(p : P) → CommRing (R p)] [∀ (p : P), IsDomain (R p)] [∀ (p : P), IsDiscreteValuationRing (R p)] [(p : P) → Algebra (R p) K] [∀ (p : P), IsFractionRing (R p) K] :
                structure ArithmeticGeometry.SmoothProjectiveCurveData (k : Type u) [Field k] (K : Type u) [Field K] [Algebra k K] (n : ℕ) :
                Type (u + 1)
                Instances For
                  def ArithmeticGeometry.DVRDominates {K₁ : Type u_1} {K₂ : Type u_2} [Field K₁] [Field K₂] (φ_star : K₂ →+* K₁) (R₁ : Type u_3) [CommRing R₁] [IsDomain R₁] [Algebra R₁ K₁] [IsFractionRing R₁ K₁] (R₂ : Type u_4) [CommRing R₂] [IsDomain R₂] [Algebra R₂ K₂] [IsFractionRing R₂ K₂] :
                  Instances For
                    def ArithmeticGeometry.IsConstantFieldHom {k : Type u_1} {K₁ : Type u_2} {K₂ : Type u_3} [Field k] [Field K₁] [Field K₂] [Algebra k K₁] [Algebra k K₂] (φ_star : K₂ →ₐ[k] K₁) :
                    Instances For
                      def ArithmeticGeometry.IsSurjectiveOnPoints {k : Type u_1} {K₁ : Type u_2} {K₂ : Type u_3} [Field k] [Field K₁] [Field K₂] [Algebra k K₁] [Algebra k K₂] (φ_star : K₂ →ₐ[k] K₁) {P₁ : Type u_4} (R₁ : P₁ → Type u_5) [(p : P₁) → CommRing (R₁ p)] [∀ (p : P₁), IsDomain (R₁ p)] [(p : P₁) → Algebra (R₁ p) K₁] [∀ (p : P₁), IsFractionRing (R₁ p) K₁] {P₂ : Type u_6} (R₂ : P₂ → Type u_7) [(p : P₂) → CommRing (R₂ p)] [∀ (p : P₂), IsDomain (R₂ p)] [(p : P₂) → Algebra (R₂ p) K₂] [∀ (p : P₂), IsFractionRing (R₂ p) K₂] :
                      Instances For
                        theorem ArithmeticGeometry.morphism_constant_or_surjective_proof {k : Type u} [Field k] {K₁ K₂ : Type u} [Field K₁] [Field K₂] [Algebra k K₁] [Algebra k K₂] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k K₁ n₁) {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k K₂ n₂) (φ_star : K₂ →ₐ[k] K₁) :
                        IsConstantFieldHom φ_star ∨ IsSurjectiveOnPoints φ_star C₁.R C₂.R
                        theorem ArithmeticGeometry.SmoothProjectiveCurve.morphism_constant_or_surjective {k : Type u} [Field k] {K₁ K₂ : Type u} [Field K₁] [Field K₂] [Algebra k K₁] [Algebra k K₂] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k K₁ n₁) {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k K₂ n₂) (φ_star : K₂ →ₐ[k] K₁) :
                        IsConstantFieldHom φ_star ∨ IsSurjectiveOnPoints φ_star C₁.R C₂.R
                        structure ArithmeticGeometry.BiratIso {k K₁ K₂ : Type u} [Field k] [Field K₁] [Algebra k K₁] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k K₁ n₁) [Field K₂] [Algebra k K₂] {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k K₂ n₂) :
                        Instances For
                          structure ArithmeticGeometry.CurveIso {k K₁ K₂ : Type u} [Field k] [Field K₁] [Algebra k K₁] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k K₁ n₁) [Field K₂] [Algebra k K₂] {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k K₂ n₂) :
                          Instances For
                            def ArithmeticGeometry.SmoothProjectiveCurve.birational_map_is_isomorphism {k K₁ K₂ : Type u} [Field k] [Field K₁] [Algebra k K₁] {n₁ : ℕ} {C₁ : SmoothProjectiveCurveData k K₁ n₁} [Field K₂] [Algebra k K₂] {n₂ : ℕ} {C₂ : SmoothProjectiveCurveData k K₂ n₂} (Φ : BiratIso C₁ C₂) :
                            CurveIso C₁ C₂
                            Instances For
                              theorem ArithmeticGeometry.FunctionField_k.Morphism.isIso_iff_degree_eq_one {F₁ : Type u_2} {F₂ : Type u_3} [Field F₁] [Field F₂] (φ : F₂ →+* F₁) :
                              def ArithmeticGeometry.localizationSubalgebraCarrier {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] (S : Subalgebra k F) [IsFractionRing (↥S) F] (𝔭 : Ideal ↥S) [𝔭.IsPrime] :
                              Set F
                              Instances For
                                theorem ArithmeticGeometry.dvr_valuation_subring_eq_of_le {K : Type u_3} [Field K] {R₁ R₂ : ValuationSubring K} [IsDiscreteValuationRing ↥R₁] [IsDiscreteValuationRing ↥R₂] (hle : R₁ ≤ R₂) :
                                R₁ = R₂
                                theorem ArithmeticGeometry.Subalgebra.inv_mem_of_isUnit' {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] {R : Subalgebra k F} {x : F} (hx : x ∈ ↑R) (hu : IsUnit ⟨x, hx⟩) :
                                x⁻¹ ∈ ↑R
                                theorem ArithmeticGeometry.localization_subset_of_complement_units {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] (S R : Subalgebra k F) [IsFractionRing (↥S) F] (𝔭 : Ideal ↥S) [𝔭.IsPrime] (hSR : S ≤ R) (hunit : ∀ (b : ↥𝔭.primeCompl), IsUnit ⟨(algebraMap (↥S) F) ↑b, ⋯⟩) :
                                theorem ArithmeticGeometry.dvr_subalgebra_set_eq_of_subset {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] (R₁ R₂ : Subalgebra k F) [IsDomain ↥R₁] [IsDiscreteValuationRing ↥R₁] [IsFractionRing (↥R₁) F] [IsDomain ↥R₂] [IsDiscreteValuationRing ↥R₂] [IsFractionRing (↥R₂) F] (h : ↑R₁ ⊆ ↑R₂) :
                                ↑R₁ = ↑R₂
                                theorem ArithmeticGeometry.adjoin_image_inv_or_self_eq {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] (S : Set F) (f : F → F) (hf : ∀ x ∈ S, f x = x ∨ f x = x⁻¹) :
                                theorem ArithmeticGeometry.exists_generators_in_dvr {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] (S : Set F) (hS_fin : S.Finite) (hS_gen : IntermediateField.adjoin k S = ⊤) :
                                ∃ (T : Set F), T.Finite ∧ (∀ t ∈ T, t ∈ ↑R) ∧ IntermediateField.adjoin k T = ⊤
                                theorem ArithmeticGeometry.exists_generators_in_dvr_of_function_field {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] :
                                ∃ (T : Set F), T.Finite ∧ (∀ t ∈ T, t ∈ ↑R) ∧ IntermediateField.adjoin k T = ⊤
                                theorem ArithmeticGeometry.isIntegrallyClosed_adjoin_of_function_field_in_dvr {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] (T : Set F) (hT_fin : T.Finite) (hT_gen : IntermediateField.adjoin k T = ⊤) (hT_in_R : ∀ x ∈ T, x ∈ ↑R) {x : F} :
                                IsIntegral (↥(Algebra.adjoin k T)) x → ∃ (y : ↥(Algebra.adjoin k T)), (algebraMap (↥(Algebra.adjoin k T)) F) y = x
                                theorem ArithmeticGeometry.isDedekindDomain_adjoin_of_function_field_in_dvr {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] (T : Set F) (hT_fin : T.Finite) (hT_gen : IntermediateField.adjoin k T = ⊤) (hT_in_R : ∀ x ∈ T, x ∈ ↑R) :
                                theorem ArithmeticGeometry.noether_normalization_for_function_fields {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] (t : F) (ht : t ∈ R) :
                                ∃ (S : Subalgebra k F) (_ : Algebra.FiniteType k ↥S) (_ : IsDedekindDomain ↥S) (_ : IsFractionRing (↥S) F), k[t] ≤ S ∧ S ≤ R
                                theorem ArithmeticGeometry.coordinate_ring_of_dvr {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] :
                                ∃ (S : Subalgebra k F) (_ : Algebra.FiniteType k ↥S) (_ : IsDedekindDomain ↥S) (_ : IsFractionRing (↥S) F), ¬IsField ↥S ∧ S ≤ R
                                theorem ArithmeticGeometry.exists_maximal_with_complement_units {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] (S : Subalgebra k F) [IsDedekindDomain ↥S] [IsFractionRing (↥S) F] (hSR : S ≤ R) :
                                ∃ (𝔭 : Ideal ↥S) (x : 𝔭.IsMaximal), ∀ (b : ↥𝔭.primeCompl), IsUnit ⟨(algebraMap (↥S) F) ↑b, ⋯⟩
                                theorem ArithmeticGeometry.localization_embeds_as_dvr_subalgebra {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] (S : Subalgebra k F) [IsDedekindDomain ↥S] (hfrac : IsFractionRing (↥S) F) (hnotfield : ¬IsField ↥S) (𝔭 : Ideal ↥S) (hmax : 𝔭.IsMaximal) :
                                ∃ (L : Subalgebra k F) (x : IsDomain ↥L) (_ : IsDiscreteValuationRing ↥L) (_ : IsFractionRing (↥L) F), ↑L = localizationSubalgebraCarrier S 𝔭
                                theorem ArithmeticGeometry.exists_dedekind_subalgebra_with_complement_units {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] :
                                ∃ (S : Subalgebra k F) (_ : Algebra.FiniteType k ↥S) (_ : IsDedekindDomain ↥S) (hfrac : IsFractionRing (↥S) F), ¬IsField ↥S ∧ S ≤ R ∧ ∃ (𝔭 : Ideal ↥S) (hmax : 𝔭.IsMaximal) (L : Subalgebra k F) (x : IsDomain ↥L) (_ : IsDiscreteValuationRing ↥L) (_ : IsFractionRing (↥L) F), ↑L = localizationSubalgebraCarrier S 𝔭 ∧ ↑L ⊆ ↑R
                                theorem ArithmeticGeometry.exists_smooth_affine_curve_of_DVR {k : Type u_1} {F : Type u_2} [Field k] [Field F] [Algebra k F] [FunctionField_k k F] (R : Subalgebra k F) [IsDomain ↥R] [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) F] :
                                ∃ (S : Subalgebra k F) (_ : Algebra.FiniteType k ↥S) (_ : IsDedekindDomain ↥S) (hfrac : IsFractionRing (↥S) F), ¬IsField ↥S ∧ S ≤ R ∧ ∃ (𝔭 : Ideal ↥S) (x : 𝔭.IsMaximal), ↑R = localizationSubalgebraCarrier S 𝔭
                                structure ArithmeticGeometry.DVROfFunctionField (k : Type u_5) (F : Type u_6) [Field k] [Field F] [Algebra k F] :
                                Type u_6
                                Instances For
                                  def ArithmeticGeometry.DVROfFunctionField.vanishesAt {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] (P : DVROfFunctionField k F) (f : F) :
                                  Instances For
                                    Instances For
                                      def ArithmeticGeometry.AbstractCurve.zeroLocus {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] (S : Set F) :
                                      Instances For
                                        @[implicit_reducible]
                                        structure ArithmeticGeometry.AbstractCurve (k : Type u_5) (F : Type u_6) [Field k] [Field F] [Algebra k F] :
                                        Type u_6
                                        Instances For
                                          @[reducible]
                                          Instances For
                                            Instances For
                                              theorem ArithmeticGeometry.AbstractCurve.regularFunctions_mem {k : Type u_3} {F : Type u_4} [Field k] [Field F] [Algebra k F] (U : Set (DVROfFunctionField k F)) (f : ↥(regularFunctions U)) (P : DVROfFunctionField k F) (hP : P ∈ U) :
                                              ↑f ∈ P.valRing
                                              structure ArithmeticGeometry.AbstractCurveMorphism (k : Type u_5) (F₁ : Type u_6) (F₂ : Type u_7) [Field k] [Field F₁] [Field F₂] [Algebra k F₁] [Algebra k F₂] :
                                              Type (max u_6 u_7)
                                              Instances For
                                                theorem ArithmeticGeometry.AbstractCurveMorphism.pullback_regular_on_open {k : Type u_5} {F₁ : Type u_6} {F₂ : Type u_7} [Field k] [Field F₁] [Field F₂] [Algebra k F₁] [Algebra k F₂] (φ : AbstractCurveMorphism k F₁ F₂) (U : Set (DVROfFunctionField k F₂)) (f : F₂) (hf : ∀ P ∈ U, f ∈ P.valRing) (Q : DVROfFunctionField k F₁) :
                                                Q ∈ φ.toFun ⁻¹' U → φ.pullback f ∈ Q.valRing
                                                Instances For
                                                  Instances For
                                                    Instances For
                                                      Instances For
                                                        Instances For
                                                          theorem ArithmeticGeometry.functionField_exists_DVR_valuationSubring_aux (k : Type u_3) [Field k] (F : Type u_4) [Field F] [Algebra k F] (t : F) (ht : Transcendental k t) (halg : Algebra.IsAlgebraic (↥k⟮t⟯) F) :
                                                          @[reducible]
                                                          Instances For
                                                            theorem ArithmeticGeometry.abstract_curve_isomorphic_smooth_projective (k : Type u) [Field k] (F : Type u) [Field F] [Algebra k F] [FunctionField_k k F] :
                                                            ∃ (n : ℕ) (C : SmoothProjectiveCurveData k F n) (φ : C.P ≃ DVROfFunctionField k F), ∀ (p : C.P), Set.range ⇑(algebraMap (C.R p) F) = ↑(φ p).valRing
                                                            def ArithmeticGeometry.BiratIso.ofSameFunctionField {k F : Type u} [Field k] [Field F] [Algebra k F] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k F n₁) {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k F n₂) :
                                                            BiratIso C₁ C₂
                                                            Instances For
                                                              def ArithmeticGeometry.unique_smooth_model_uniqueness {k F : Type u} [Field k] [Field F] [Algebra k F] {n₁ : ℕ} (C₁ : SmoothProjectiveCurveData k F n₁) {n₂ : ℕ} (C₂ : SmoothProjectiveCurveData k F n₂) :
                                                              CurveIso C₁ C₂
                                                              Instances For
                                                                theorem ArithmeticGeometry.unique_smooth_projective_model (k : Type u) [Field k] (F : Type u) [Field F] [Algebra k F] [FunctionField_k k F] :
                                                                (∃ (n : ℕ), Nonempty (SmoothProjectiveCurveData k F n)) ∧ ∀ {n₁ n₂ : ℕ} (C₁ : SmoothProjectiveCurveData k F n₁) (C₂ : SmoothProjectiveCurveData k F n₂), Nonempty (CurveIso C₁ C₂)