Documentation

Atlas.ArithmeticGeometry.code.TangentSpaces

noncomputable def totalDerivativeAt {k : Type u_1} [Field k] {n : } (f : MvPolynomial (Fin n) k) (P v : Fin nk) :
k
Instances For
    noncomputable def totalDerivativeAtLin {k : Type u_1} [Field k] {n : } (f : MvPolynomial (Fin n) k) (P : Fin nk) :
    (Fin nk) →ₗ[k] k
    Instances For
      noncomputable def tangentSpacePoly {k : Type u_1} [Field k] {n : } (f : MvPolynomial (Fin n) k) (P : Fin nk) :
      Submodule k (Fin nk)
      Instances For
        noncomputable def tangentSpaceIdeal {k : Type u_1} [Field k] {n : } (I : Ideal (MvPolynomial (Fin n) k)) (P : Fin nk) :
        Submodule k (Fin nk)
        Instances For
          theorem totalDerivativeAt_add {k : Type u_1} [Field k] {n : } (f g : MvPolynomial (Fin n) k) (P v : Fin nk) :
          theorem totalDerivativeAt_zero {k : Type u_1} [Field k] {n : } (P v : Fin nk) :
          theorem totalDerivativeAt_mul_of_eval_eq_zero {k : Type u_1} [Field k] {n : } (r g : MvPolynomial (Fin n) k) (P v : Fin nk) (hg : (MvPolynomial.eval P) g = 0) :
          theorem totalDerivativeAt_smul_of_eval_eq_zero {k : Type u_1} [Field k] {n : } (r g : MvPolynomial (Fin n) k) (P v : Fin nk) (hg : (MvPolynomial.eval P) g = 0) :
          theorem tangentSpaceIdeal_eq_iInf_generators {k : Type u_1} [Field k] {n m : } (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) (hP : gIdeal.span (Set.range f), (MvPolynomial.eval P) g = 0) :
          theorem tangentSpace_eq_ker_jacobian {k : Type u_1} [Field k] {n m : } (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) :
          ⨅ (i : Fin m), tangentSpacePoly (f i) P = (Matrix.of fun (i : Fin m) (j : Fin n) => (MvPolynomial.eval P) ((MvPolynomial.pderiv j) (f i))).mulVecLin.ker
          noncomputable def jointLinearizationMap {k : Type u_1} [Field k] {n m : } (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) :
          (Fin nk) →ₗ[k] Fin mk
          Instances For
            theorem tangentSpace_eq_ker_jointLinearizationMap {k : Type u_1} [Field k] {n m : } (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) :
            ⨅ (i : Fin m), tangentSpacePoly (f i) P = (jointLinearizationMap f P).ker
            theorem cotangentSpace_dualAnnihilator_eq_range_dualMap {k : Type u_1} [Field k] {n m : } (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) :
            noncomputable def TangentSpaces.jacobianMatrix {k : Type u_1} [Field k] (n m : ) (f : Fin mMvPolynomial (Fin n) k) (P : Fin nk) :
            Matrix (Fin m) (Fin n) k
            Instances For
              def TangentSpaces.tangentSpace {k : Type u_1} [Field k] {m n : } (M : Matrix (Fin m) (Fin n) k) :
              Submodule k (Fin nk)
              Instances For
                def TangentSpaces.cotangentSpaceDual {k : Type u_1} [Field k] {m n : } (M : Matrix (Fin m) (Fin n) k) :
                Submodule k (Module.Dual k (Fin nk))
                Instances For
                  def TangentSpaces.cotangentSpace {k : Type u_1} [Field k] {m n : } (M : Matrix (Fin m) (Fin n) k) :
                  Submodule k (Fin mk)
                  Instances For
                    theorem TangentSpaces.jacobian_rank_add_tangent_dim {k : Type u_1} [Field k] {m n : } (M : Matrix (Fin m) (Fin n) k) :
                    theorem TangentSpaces.jacobian_rank_le {k : Type u_1} [Field k] {m n : } (M : Matrix (Fin m) (Fin n) k) :
                    M.rank n
                    theorem TangentSpaces.rank_le_one_of_single_row {k : Type u_1} [Field k] {n : } (M : Matrix (Fin 1) (Fin n) k) :
                    M.rank 1
                    theorem function_field_generated_by_n_plus_one (k : Type u_1) (F : Type u_2) [Field k] [IsAlgClosed k] [Field F] [Algebra k F] (n : ) (hfg : .FG) (htrdeg : Algebra.trdeg k F = n) :
                    ∃ (α : Fin (n + 1)F), (AlgebraicIndependent k fun (i : Fin n) => α i.castSucc) IntermediateField.adjoin k (Set.range α) =
                    def IsHypersurface (k : Type u_1) [Field k] (N : ) (W : Set (AffineSpace_k k N)) :
                    Instances For
                      def functionField (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                      Type u_1
                      Instances For
                        @[reducible]
                        noncomputable def functionField.instField (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                        Field (functionField k N V hV)
                        Instances For
                          @[implicit_reducible]
                          noncomputable instance instFieldFunctionField (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                          Field (functionField k N V hV)
                          @[reducible]
                          noncomputable def functionField.instAlgebra (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                          Instances For
                            @[implicit_reducible]
                            noncomputable instance instAlgebraAlgebraicClosureFunctionField (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                            def HasDimension (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (d : ) :
                            Instances For
                              theorem functionField_fg (k : Type u_1) [Field k] (N : ) (V : Set (AffineSpace_k k N)) (hV : IsAffineVariety k N V) :
                              noncomputable def rationalMapPullback (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (φ : RationalMap k M N V W) (hdom : RationalMap.IsDominant k φ) :
                              Instances For
                                noncomputable def algHomInducesDominantRationalMap (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (θ : functionField k N W hW →ₐ[AlgebraicClosure k] functionField k M V hV) :
                                ∃ (ψ : RationalMap k M N V W), RationalMap.IsDominant k ψ
                                Instances For
                                  theorem theorem_15_8_iii_forward (k : Type u_1) [Field k] (M N P : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (Z : Set (AffineSpace_k k P)) (hZ : IsAffineVariety k P Z) (φ : RationalMap k M N V W) (hφdom : RationalMap.IsDominant k φ) (ψ : RationalMap k N P W Z) (hψdom : RationalMap.IsDominant k ψ) (ψφ : RationalMap k M P V Z) (hψφdom : RationalMap.IsDominant k ψφ) (hcomp : QRationalMap.compDom k ψ φ, RationalMap.toFun k ψ (RationalMap.toFun k φ Q) = RationalMap.toFun k ψφ Q) :
                                  rationalMapPullback k M P V hV Z hZ ψφ hψφdom = (rationalMapPullback k M N V hV W hW φ hφdom).comp (rationalMapPullback k N P W hW Z hZ ψ hψdom)
                                  theorem rationalMapPullback_roundtrip_points (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (φ : RationalMap k M N V W) (hdom : RationalMap.IsDominant k φ) (ψ : RationalMap k M N V W) (hψdom : RationalMap.IsDominant k ψ) ( : ∃ (_ : RationalMap.IsDominant k ψ), ψ = .choose) (P : AffineSpace_k k M) :
                                  theorem algHom_roundtrip (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (θ : functionField k N W hW →ₐ[AlgebraicClosure k] functionField k M V hV) :
                                  rationalMapPullback k M N V hV W hW .choose = θ
                                  theorem pullback_comp_of_birational_eq_id (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (φ : RationalMap k M N V W) (ψ : RationalMap k N M W V) (hφdom : RationalMap.IsDominant k φ) (hψdom : RationalMap.IsDominant k ψ) (hcomp1 : PRationalMap.compDom k ψ φ, RationalMap.toFun k ψ (RationalMap.toFun k φ P) = P) (hcomp2 : PRationalMap.compDom k φ ψ, RationalMap.toFun k φ (RationalMap.toFun k ψ P) = P) :
                                  (rationalMapPullback k N M W hW V hV ψ hψdom).comp (rationalMapPullback k M N V hV W hW φ hφdom) = AlgHom.id (AlgebraicClosure k) (functionField k N W hW)
                                  theorem pullback_comp_of_birational_eq_id' (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (φ : RationalMap k M N V W) (ψ : RationalMap k N M W V) (hφdom : RationalMap.IsDominant k φ) (hψdom : RationalMap.IsDominant k ψ) (hcomp1 : PRationalMap.compDom k ψ φ, RationalMap.toFun k ψ (RationalMap.toFun k φ P) = P) (hcomp2 : PRationalMap.compDom k φ ψ, RationalMap.toFun k φ (RationalMap.toFun k ψ P) = P) :
                                  (rationalMapPullback k M N V hV W hW φ hφdom).comp (rationalMapPullback k N M W hW V hV ψ hψdom) = AlgHom.id (AlgebraicClosure k) (functionField k M V hV)
                                  theorem inverse_algHom_induces_inverse_rationalMap (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (θ1 : functionField k N W hW →ₐ[AlgebraicClosure k] functionField k M V hV) (θ2 : functionField k M V hV →ₐ[AlgebraicClosure k] functionField k N W hW) (hcomp : θ2.comp θ1 = AlgHom.id (AlgebraicClosure k) (functionField k N W hW)) :
                                  have φ := .choose; have := ; have ψ := .choose; have := ; PRationalMap.compDom k ψ φ, RationalMap.toFun k ψ (RationalMap.toFun k φ P) = P
                                  theorem algEquiv_induces_birational (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (iso : functionField k M V hV ≃ₐ[AlgebraicClosure k] functionField k N W hW) :
                                  theorem birational_of_functionField_iso (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (iso : functionField k M V hV ≃ₐ[AlgebraicClosure k] functionField k N W hW) :
                                  theorem functionField_iso_of_birational (k : Type u_1) [Field k] (M N : ) (V : Set (AffineSpace_k k M)) (hV : IsAffineVariety k M V) (W : Set (AffineSpace_k k N)) (hW : IsAffineVariety k N W) (hbir : IsBirationallyEquivalent k V W) :
                                  theorem irreducible_poly_vanishing_on_generators_axiom (k : Type u_1) [Field k] [IsAlgClosed k] (n : ) (F : Type u_2) [Field F] [Algebra (AlgebraicClosure k) F] (α : Fin (n + 1)F) (h_indep : AlgebraicIndependent (AlgebraicClosure k) fun (i : Fin n) => α i.castSucc) (h_gen : IntermediateField.adjoin (AlgebraicClosure k) (Set.range α) = ) :
                                  theorem irreducible_poly_vanishing_on_generators (k : Type u_1) [Field k] [IsAlgClosed k] (n : ) (F : Type u_2) [Field F] [Algebra (AlgebraicClosure k) F] (α : Fin (n + 1)F) (h_indep : AlgebraicIndependent (AlgebraicClosure k) fun (i : Fin n) => α i.castSucc) (h_gen : IntermediateField.adjoin (AlgebraicClosure k) (Set.range α) = ) (h_not_indep : ¬AlgebraicIndependent (AlgebraicClosure k) α) :
                                  theorem functionField_iso_of_irreducible_vanishing (k : Type u_1) [Field k] [IsAlgClosed k] (n : ) (F : Type u_2) [Field F] [Algebra (AlgebraicClosure k) F] (α : Fin (n + 1)F) (h_gen : IntermediateField.adjoin (AlgebraicClosure k) (Set.range α) = ) (f : MvPolynomial (Fin (n + 1)) (AlgebraicClosure k)) (hf_irred : Irreducible f) (hf_vanish : (MvPolynomial.aeval α) f = 0) (hW : IsAffineVariety k (n + 1) (AlgebraicSet k (n + 1) {f})) :
                                  theorem hypersurface_from_generators (k : Type u_1) [Field k] [IsAlgClosed k] (n : ) (F : Type u_2) [Field F] [Algebra (AlgebraicClosure k) F] (α : Fin (n + 1)F) (h_indep : AlgebraicIndependent (AlgebraicClosure k) fun (i : Fin n) => α i.castSucc) (h_gen : IntermediateField.adjoin (AlgebraicClosure k) (Set.range α) = ) (h_not_indep : ¬AlgebraicIndependent (AlgebraicClosure k) α) :
                                  ∃ (f : MvPolynomial (Fin (n + 1)) (AlgebraicClosure k)), Irreducible f ∀ (hW : IsAffineVariety k (n + 1) (AlgebraicSet k (n + 1) {f})), Nonempty (F ≃ₐ[AlgebraicClosure k] functionField k (n + 1) (AlgebraicSet k (n + 1) {f}) hW)
                                  theorem IsHypersurface.exists_irreducible {k : Type u_1} [Field k] {N : } {W : Set (AffineSpace_k k N)} (hW : IsHypersurface k N W) :
                                  theorem variety_birational_to_hypersurface (k : Type u_1) [Field k] [IsAlgClosed k] (N n : ) (V : Set (AffineSpace_k k N)) (hV : HasDimension k N V n) :
                                  ∃ (W : Set (AffineSpace_k k (n + 1))), IsHypersurface k (n + 1) W IsBirationallyEquivalent k V W
                                  theorem trdeg_lemma_17_7_axiom_helper (k' : Type u_1) [Field k'] (N : ) (hN : N 1) (I : Ideal (MvPolynomial (Fin N) k')) (hI : I.IsPrime) (hprinc : ∃ (f : MvPolynomial (Fin N) k'), Irreducible f I = Ideal.span {f}) [inst_dom : IsDomain (MvPolynomial (Fin N) k' I)] :
                                  Algebra.trdeg k' (FractionRing (MvPolynomial (Fin N) k' I)) = ↑(N - 1)
                                  theorem trdeg_fractionRing_mvPoly_quotient_prime_principal (k' : Type u_1) [Field k'] (N : ) (hN : N 1) (I : Ideal (MvPolynomial (Fin N) k')) (hI : I.IsPrime) (hprinc : ∃ (f : MvPolynomial (Fin N) k'), Irreducible f I = Ideal.span {f}) [inst_dom : IsDomain (MvPolynomial (Fin N) k' I)] :
                                  Algebra.trdeg k' (FractionRing (MvPolynomial (Fin N) k' I)) = ↑(N - 1)
                                  theorem hypersurface_trdeg_eq (k : Type u_1) [Field k] (N : ) (hN : N 1) (f : MvPolynomial (Fin N) (AlgebraicClosure k)) (hf : Irreducible f) (hV : IsAffineVariety k N (AlgebraicSet k N {f})) :
                                  theorem hypersurface_has_dimension_n_minus_one (k : Type u_1) [Field k] (N : ) (hN : N 1) (V : Set (AffineSpace_k k N)) (hV : IsHypersurface k N V) :
                                  HasDimension k N V (N - 1)
                                  def affinePartOfProjective (k : Type u_1) [Field k] {n : } (V : Set (Projectivization (AlgebraicClosure k) (Fin (n + 1)AlgebraicClosure k))) (i : Fin (n + 1)) :
                                  Instances For
                                    Instances For
                                      def HasProjectiveDimension (k : Type u_1) [Field k] {n : } (V : Set (Projectivization (AlgebraicClosure k) (Fin (n + 1)AlgebraicClosure k))) (d : ) :
                                      Instances For
                                        theorem dim_le_ambient (k : Type u_1) [Field k] (N d : ) (V : Set (AffineSpace_k k N)) (hdim : HasDimension k N V d) :
                                        d N
                                        theorem corollary_17_11_rank_bound (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (P : Fin nAlgebraicClosure k) (hP : P AlgebraicSet k n (Set.range f)) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                        theorem jacobian_rank_le_codim (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (P : Fin nAlgebraicClosure k) (hP : P AlgebraicSet k n (Set.range f)) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                        theorem SingularLocus.rank_lt_iff_all_minors_det_eq_zero {k' : Type u_2} [Field k'] {m n r : } (M : Matrix (Fin m) (Fin n) k') :
                                        M.rank < r ∀ (ri : Fin rFin m) (ci : Fin rFin n), (M.submatrix ri ci).det = 0
                                        noncomputable def SingularLocus.jacobianPolyMatrix (k : Type u_1) [Field k] (n m : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) :
                                        Instances For
                                          Instances For
                                            theorem SingularLocus.eval_minor_det_eq (k : Type u_1) [Field k] (n m r : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (P : Fin nAlgebraicClosure k) (ri : Fin rFin m) (ci : Fin rFin n) :
                                            Instances For
                                              Instances For
                                                Instances For
                                                  theorem SingularLocus.mem_singularLocusAlgebraic_iff (k : Type u_1) [Field k] (n m r : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (P : AffineSpace_k k n) :
                                                  P singularLocusAlgebraic k n m r f (∀ (i : Fin m), (MvPolynomial.eval P) (f i) = 0) ∀ (ri : Fin rFin m) (ci : Fin rFin n), ((TangentSpaces.jacobianMatrix n m f P).submatrix ri ci).det = 0
                                                  theorem SingularLocus.hypersurface_smooth_point (k : Type u_1) [Field k] (d : ) (g : MvPolynomial (Fin (d + 1)) (AlgebraicClosure k)) (hg : Irreducible g) (hW : IsAffineVariety k (d + 1) (AlgebraicSet k (d + 1) {g})) :
                                                  PAlgebraicSet k (d + 1) {g}, ¬(TangentSpaces.jacobianMatrix (d + 1) 1 (fun (x : Fin 1) => g) P).rank < 1
                                                  theorem SingularLocus.birational_preserves_smooth_locus (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdimV : HasDimension k n (AlgebraicSet k n (Set.range f)) d) (hyp_smooth : ∀ (g : MvPolynomial (Fin (d + 1)) (AlgebraicClosure k)), Irreducible gIsAffineVariety k (d + 1) (AlgebraicSet k (d + 1) {g})QAlgebraicSet k (d + 1) {g}, ¬(TangentSpaces.jacobianMatrix (d + 1) 1 (fun (x : Fin 1) => g) Q).rank < 1) :
                                                  PAlgebraicSet k n (Set.range f), ¬(TangentSpaces.jacobianMatrix n m f P).rank < n - d
                                                  theorem SingularLocus.jacobian_rank_achieves_codim (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                                  PAlgebraicSet k n (Set.range f), ¬(TangentSpaces.jacobianMatrix n m f P).rank < n - d
                                                  theorem SingularLocus.nonvanishing_minor_exists (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                                  ∃ (ri : Fin (n - d)Fin m) (ci : Fin (n - d)Fin n), PAlgebraicSet k n (Set.range f), ((TangentSpaces.jacobianMatrix n m f P).submatrix ri ci).det 0
                                                  theorem SingularLocus.variety_has_smooth_point (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                                  PAlgebraicSet k n (Set.range f), ¬(TangentSpaces.jacobianMatrix n m f P).rank < n - d
                                                  theorem SingularLocus.singularLocus_proper (k : Type u_1) [Field k] (n m r d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) (hr : r = n - d) :
                                                  theorem SingularLocus.singular_locus_is_proper_closed_subset (k : Type u_2) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (hV : IsAffineVariety k n (AlgebraicSet k n (Set.range f))) (hdim : HasDimension k n (AlgebraicSet k n (Set.range f)) d) :
                                                  have r := n - d; have SingV := singularLocusIntrinsic k n m r f; IsAlgebraicSubset k n SingV SingV AlgebraicSet k n (Set.range f) SingV AlgebraicSet k n (Set.range f)
                                                  def IsSmoothPoint (k : Type u_1) [Field k] (n m d : ) (f : Fin mMvPolynomial (Fin n) (AlgebraicClosure k)) (P : Fin nAlgebraicClosure k) :
                                                  Instances For