Documentation

Atlas.ArithmeticGeometry.code.ProductVarieties

Embedding $\overline{k}[x_1, \ldots, x_m] \hookrightarrow \overline{k}[x_1, \ldots, x_{m+n}]$ in the first $m$ variables, by renaming via Fin.castAdd.

Instances For

    Embedding $\overline{k}[y_1, \ldots, y_n] \hookrightarrow \overline{k}[x_1, \ldots, x_{m+n}]$ in the last $n$ variables, by renaming via Fin.natAdd.

    Instances For
      def embedSetLeft (k : Type u_1) [Field k] (m n : ) (S : Set (MvPolynomial (Fin m) (AlgebraicClosure k))) :

      Image of a set of polynomials under embedPolyLeft.

      Instances For
        def embedSetRight (k : Type u_1) [Field k] (m n : ) (S : Set (MvPolynomial (Fin n) (AlgebraicClosure k))) :

        Image of a set of polynomials under embedPolyRight.

        Instances For
          def ProductAlgebraicSet (k : Type u_1) [Field k] (m n : ) (S_X : Set (MvPolynomial (Fin m) (AlgebraicClosure k))) (S_Y : Set (MvPolynomial (Fin n) (AlgebraicClosure k))) :
          Set (AffineSpace_k k (m + n))

          Definition 16.2: the product algebraic set $V(S_X) \times V(S_Y) \subseteq \overline{k}^{m+n}$, defined as the algebraic set in $\overline{k}^{m+n}$ cut out by the embedded polynomials.

          Instances For
            def projLeft (k : Type u_1) [Field k] (m n : ) (P : AffineSpace_k k (m + n)) :

            Projection $\overline{k}^{m+n} \to \overline{k}^m$ onto the first $m$ coordinates.

            Instances For
              def projRight (k : Type u_1) [Field k] (m n : ) (P : AffineSpace_k k (m + n)) :

              Projection $\overline{k}^{m+n} \to \overline{k}^n$ onto the last $n$ coordinates.

              Instances For
                def CartesianProduct (k : Type u_1) [Field k] (m n : ) (X : Set (AffineSpace_k k m)) (Y : Set (AffineSpace_k k n)) :
                Set (AffineSpace_k k (m + n))

                The Cartesian product $X \times Y \subseteq \overline{k}^{m+n}$ as a set, defined by the projection criteria.

                Instances For
                  @[simp]
                  theorem projLeft_append (k : Type u_1) [Field k] (m n : ) (a : AffineSpace_k k m) (b : AffineSpace_k k n) :
                  projLeft k m n (Fin.append a b) = a

                  Projecting Fin.append a b to the left gives a.

                  @[simp]
                  theorem projRight_append (k : Type u_1) [Field k] (m n : ) (a : AffineSpace_k k m) (b : AffineSpace_k k n) :
                  projRight k m n (Fin.append a b) = b

                  Projecting Fin.append a b to the right gives b.

                  theorem append_proj (k : Type u_1) [Field k] (m n : ) (P : AffineSpace_k k (m + n)) :
                  Fin.append (projLeft k m n P) (projRight k m n P) = P

                  Reconstruction: appending the left and right projections of $P$ recovers $P$.

                  theorem mem_productAlgebraicSet (k : Type u_1) [Field k] (m n : ) (S_X : Set (MvPolynomial (Fin m) (AlgebraicClosure k))) (S_Y : Set (MvPolynomial (Fin n) (AlgebraicClosure k))) (P : AffineSpace_k k (m + n)) :
                  P ProductAlgebraicSet k m n S_X S_Y projLeft k m n P AlgebraicSet k m S_X projRight k m n P AlgebraicSet k n S_Y

                  A point $P \in \overline{k}^{m+n}$ lies in $V(S_X) \times V(S_Y)$ iff its left projection lies in $V(S_X)$ and its right projection lies in $V(S_Y)$.

                  theorem productAlgebraicSet_nonempty (k : Type u_1) [Field k] (m n : ) (S_X : Set (MvPolynomial (Fin m) (AlgebraicClosure k))) (S_Y : Set (MvPolynomial (Fin n) (AlgebraicClosure k))) (hX : (AlgebraicSet k m S_X).Nonempty) (hY : (AlgebraicSet k n S_Y).Nonempty) :

                  The product of two nonempty algebraic sets is nonempty.

                  noncomputable def partialEvalRight (k : Type u_1) [Field k] (m n : ) (b : AffineSpace_k k n) :

                  Partial evaluation of a polynomial in $m+n$ variables by fixing the last $n$ variables to the values $b \in \overline{k}^n$, returning a polynomial in the first $m$ variables.

                  Instances For
                    theorem eval_partialEvalRight (k : Type u_1) [Field k] (m n : ) (b : AffineSpace_k k n) (f : MvPolynomial (Fin (m + n)) (AlgebraicClosure k)) (a : AffineSpace_k k m) :

                    Compatibility: evaluating partialEvalRight b f at a equals evaluating f at the appended point Fin.append a b.

                    theorem algebraicSubset_fiber_left (k : Type u_1) [Field k] (m n : ) (T : Set (MvPolynomial (Fin (m + n)) (AlgebraicClosure k))) (b : AffineSpace_k k n) :

                    For an algebraic set $V(T) \subseteq \overline{k}^{m+n}$, the fiber $\{a \mid (a, b) \in V(T)\}$ over a fixed $b \in \overline{k}^n$ is an algebraic subset of $\overline{k}^m$.

                    noncomputable def partialEvalLeft (k : Type u_1) [Field k] (m n : ) (a : AffineSpace_k k m) :

                    Partial evaluation of a polynomial in $m+n$ variables by fixing the first $m$ variables to the values $a \in \overline{k}^m$, returning a polynomial in the last $n$ variables.

                    Instances For
                      theorem eval_partialEvalLeft (k : Type u_1) [Field k] (m n : ) (a : AffineSpace_k k m) (f : MvPolynomial (Fin (m + n)) (AlgebraicClosure k)) (b : AffineSpace_k k n) :

                      Compatibility: evaluating partialEvalLeft a f at b equals evaluating f at Fin.append a b.

                      theorem algebraicSubset_fiber_right (k : Type u_1) [Field k] (m n : ) (T : Set (MvPolynomial (Fin (m + n)) (AlgebraicClosure k))) (a : AffineSpace_k k m) :

                      For an algebraic set $V(T) \subseteq \overline{k}^{m+n}$, the fiber $\{b \mid (a, b) \in V(T)\}$ over a fixed $a \in \overline{k}^m$ is an algebraic subset of $\overline{k}^n$.

                      theorem isAlgebraicSubset_iInter (k : Type u_1) [Field k] {ι : Type u_2} (n : ) (V : ιSet (AffineSpace_k k n)) (hV : ∀ (i : ι), IsAlgebraicSubset k n (V i)) :
                      IsAlgebraicSubset k n (⋂ (i : ι), V i)

                      An arbitrary intersection of algebraic subsets is an algebraic subset (cut out by the union of the defining polynomial sets).

                      theorem productVariety (k : Type u_1) [Field k] (m n : ) (S_X : Set (MvPolynomial (Fin m) (AlgebraicClosure k))) (S_Y : Set (MvPolynomial (Fin n) (AlgebraicClosure k))) (hX : IsIrreducibleAlgebraicSet k m (AlgebraicSet k m S_X)) (hY : IsIrreducibleAlgebraicSet k n (AlgebraicSet k n S_Y)) :

                      Lemma 16.4/16.5: the product of two irreducible affine algebraic sets is irreducible (the product of two affine varieties is again an affine variety).

                      def vanishingIdeal_kbar (k : Type u_1) [Field k] (n : ) (V : Set (AffineSpace_k k n)) :

                      The $\overline{k}$-vanishing ideal of a subset $V \subseteq \overline{k}^n$: polynomials in $\overline{k}[x_1, \ldots, x_n]$ that vanish on $V$.

                      Instances For

                        $S \subseteq I(V(S))$: every polynomial in $S$ vanishes on its own zero set.

                        theorem algebraicSet_anti (k : Type u_1) [Field k] (n : ) {S T : Set (MvPolynomial (Fin n) (AlgebraicClosure k))} (h : S T) :

                        The algebraic set operator is antitone: $S \subseteq T$ implies $V(T) \subseteq V(S)$.

                        theorem subset_algebraicSet_vanishingIdeal (k : Type u_1) [Field k] (n : ) (V : Set (AffineSpace_k k n)) :

                        $V \subseteq V(I(V))$: every point of $V$ lies in the zero set of its vanishing ideal.

                        Closure-like idempotence: $V(I(V(S))) = V(S)$.

                        theorem vanishingIdeal_kbar_anti (k : Type u_1) [Field k] (n : ) {V W : Set (AffineSpace_k k n)} (h : V W) :

                        The vanishing ideal operator is antitone in the subset argument.

                        theorem vanishingIdeal_kbar_injective_on_algebraicSets (k : Type u_1) [Field k] (n : ) {S₁ S₂ : Set (MvPolynomial (Fin n) (AlgebraicClosure k))} (heq : vanishingIdeal_kbar k n (AlgebraicSet k n S₁) = vanishingIdeal_kbar k n (AlgebraicSet k n S₂)) :
                        AlgebraicSet k n S₁ = AlgebraicSet k n S₂

                        The vanishing ideal operator is injective on algebraic sets: equal ideals implies equal algebraic sets.

                        theorem vanishingIdeal_kbar_strictAnti_algebraicSets (k : Type u_1) [Field k] (n : ) {S₁ S₂ : Set (MvPolynomial (Fin n) (AlgebraicClosure k))} (h : AlgebraicSet k n S₁ AlgebraicSet k n S₂) :

                        Strict antitone: a proper inclusion of algebraic sets gives a strict inclusion of vanishing ideals (in the reverse direction).

                        theorem vanishingIdeal_kbar_injective_closeds (k : Type u_1) [Field k] (n : ) {V₁ V₂ : Set (AffineSpace_k k n)} (hV₁ : IsAlgebraicSetAffine k n V₁) (hV₂ : IsAlgebraicSetAffine k n V₂) (heq : vanishingIdeal_kbar k n V₁ = vanishingIdeal_kbar k n V₂) :
                        V₁ = V₂

                        The vanishing ideal is injective on Zariski-closed subsets of $\overline{k}^n$.

                        Affine space $\overline{k}^n$ equipped with the Zariski topology is a Noetherian topological space (consequence of the Hilbert basis theorem).

                        theorem affineSpace_quasiCompact (k : Type u_1) [Field k] (n : ) (S : Set (AffineSpace_k k n)) :

                        Every subset of $\overline{k}^n$ (with the Zariski topology) is quasi-compact, a consequence of $\overline{k}^n$ being Noetherian.

                        If $P \in V$, then every polynomial vanishing on $V$ vanishes at $P$, i.e. $I(V) \subseteq \ker(\mathrm{eval}_P)$.

                        noncomputable def evalOnCoordinateRingBar {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (P : AffineSpace_k k n) (hP : P V) :

                        Evaluation at a point $P \in V$ descends to a ring homomorphism $\overline{k}[V] \to \overline{k}$ from the coordinate ring.

                        Instances For

                          The descended evaluation commutes with the quotient map: it agrees with eval P on polynomials.

                          theorem evalOnCoordinateRingBar_surjective {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (P : AffineSpace_k k n) (hP : P V) :

                          The evaluation map $\overline{k}[V] \to \overline{k}$ at a point of $V$ is surjective.

                          noncomputable def maximalIdealOfPoint {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (P : AffineSpace_k k n) (hP : P V) :

                          The maximal ideal $\mathfrak{m}_P \subseteq \overline{k}[V]$ associated to a point $P \in V$, defined as the kernel of evaluation at $P$.

                          Instances For
                            theorem maximalIdealOfPoint_isMaximal {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (P : AffineSpace_k k n) (hP : P V) :

                            The ideal $\mathfrak{m}_P$ is maximal, since it is the kernel of a surjection onto a field.

                            Pulling back $\mathfrak{m}_P$ along the quotient map recovers the kernel of eval P.

                            theorem maximalIdealOfPoint_injective {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (P₁ P₂ : AffineSpace_k k n) (hP₁ : P₁ V) (hP₂ : P₂ V) (heq : maximalIdealOfPoint V P₁ hP₁ = maximalIdealOfPoint V P₂ hP₂) :
                            P₁ = P₂

                            The map $P \mapsto \mathfrak{m}_P$ from points of $V$ to maximal ideals of $\overline{k}[V]$ is injective.

                            For an algebraic subset $V$, $I(V) \subseteq I(\{P\})$ iff $P \in V$.

                            theorem lemma_16_3 {k : Type u_1} [Field k] {n : } (V : Set (AffineSpace_k k n)) (hV : IsAlgebraicSubset k n V) :
                            Function.Bijective fun (Pt : V) => maximalIdealOfPoint V Pt ,

                            Lemma 16.3: for an affine algebraic subset $V$, the map $P \mapsto \mathfrak{m}_P$ is a bijection from points of $V$ to maximal ideals of $\overline{k}[V]$.

                            def ProductProjectiveSpace (k : Type u_2) [Field k] (m n : ) :
                            Type u_2

                            The product projective space $\mathbb{P}^m \times \mathbb{P}^n$ over $k$ as a Cartesian product of projective spaces.

                            Instances For
                              structure BihomogPoly (k : Type u_2) [Field k] (m n : ) :
                              Type u_2

                              A bihomogeneous polynomial of bi-degree $(d_X, d_Y)$: a polynomial in $m + 1 + (n + 1)$ variables which is homogeneous of degree $d_X$ in the first $m + 1$ variables and homogeneous of degree $d_Y$ in the last $n + 1$ variables.

                              Instances For
                                noncomputable def embedHomogPolyLeft {k : Type u_2} [Field k] (m n : ) :

                                Embedding $\overline{k}[x_0, \ldots, x_m] \hookrightarrow$ the bigger polynomial ring in $m + 1 + (n + 1)$ variables, on the first $m + 1$ variables.

                                Instances For
                                  noncomputable def embedHomogPolyRight {k : Type u_2} [Field k] (m n : ) :

                                  Embedding $\overline{k}[y_0, \ldots, y_n] \hookrightarrow$ the bigger polynomial ring in $m + 1 + (n + 1)$ variables, on the last $n + 1$ variables.

                                  Instances For
                                    def embedHomogSetLeft {k : Type u_2} [Field k] (m n : ) (S : Set (MvPolynomial (Fin (m + 1)) (AlgebraicClosure k))) :
                                    Set (MvPolynomial (Fin (m + 1 + (n + 1))) (AlgebraicClosure k))

                                    Image of a set of homogeneous polynomials under embedHomogPolyLeft.

                                    Instances For
                                      def embedHomogSetRight {k : Type u_2} [Field k] (m n : ) (S : Set (MvPolynomial (Fin (n + 1)) (AlgebraicClosure k))) :
                                      Set (MvPolynomial (Fin (m + 1 + (n + 1))) (AlgebraicClosure k))

                                      Image of a set of homogeneous polynomials under embedHomogPolyRight.

                                      Instances For
                                        theorem eval_embedHomogPolyLeft {k : Type u_2} [Field k] (m n : ) (p : MvPolynomial (Fin (m + 1)) (AlgebraicClosure k)) (a : Fin (m + 1)AlgebraicClosure k) (b : Fin (n + 1)AlgebraicClosure k) :

                                        Evaluating $\mathrm{embedHomogPolyLeft}(p)$ at Fin.append a b equals evaluating $p$ at $a$.

                                        theorem eval_embedHomogPolyRight {k : Type u_2} [Field k] (m n : ) (p : MvPolynomial (Fin (n + 1)) (AlgebraicClosure k)) (a : Fin (m + 1)AlgebraicClosure k) (b : Fin (n + 1)AlgebraicClosure k) :

                                        Evaluating $\mathrm{embedHomogPolyRight}(p)$ at Fin.append a b equals evaluating $p$ at $b$.

                                        def combinedHomogPolySet {k : Type u_2} [Field k] (m n : ) (S_X : Set (HomogPoly k m)) (S_Y : Set (HomogPoly k n)) :
                                        Set (MvPolynomial (Fin (m + 1 + (n + 1))) (AlgebraicClosure k))

                                        The combined polynomial set: union of the embeddings of homogeneous polynomial sets from $\mathbb{P}^m$ and $\mathbb{P}^n$ into the bigger polynomial ring.

                                        Instances For
                                          theorem combinedHomogPolySet_vanish_of_rescale {k : Type u_2} [Field k] {m n : } {S_X : Set (HomogPoly k m)} {S_Y : Set (HomogPoly k n)} {a₁ : Fin (m + 1)AlgebraicClosure k} {b₁ : Fin (n + 1)AlgebraicClosure k} {a₂ : Fin (m + 1)AlgebraicClosure k} {b₂ : Fin (n + 1)AlgebraicClosure k} {c d : AlgebraicClosure k} (hc : c 0) (hd : d 0) (ha : a₁ = fun (i : Fin (m + 1)) => c * a₂ i) (hb : b₁ = fun (i : Fin (n + 1)) => d * b₂ i) (h : fcombinedHomogPolySet m n S_X S_Y, (MvPolynomial.eval (Fin.append a₁ b₁)) f = 0) (f : MvPolynomial (Fin (m + 1 + (n + 1))) (AlgebraicClosure k)) :
                                          f combinedHomogPolySet m n S_X S_Y(MvPolynomial.eval (Fin.append a₂ b₂)) f = 0

                                          Vanishing of the combined homogeneous polynomial set is invariant under rescaling each of the two homogeneous coordinate vectors by a nonzero scalar (well-definedness on projective coordinates).

                                          def ProductProjectiveAlgebraicSet {k : Type u_2} [Field k] (m n : ) (S_X : Set (HomogPoly k m)) (S_Y : Set (HomogPoly k n)) :

                                          The product projective algebraic set in $\mathbb{P}^m \times \mathbb{P}^n$ cut out by two sets of homogeneous polynomials, defined as the common zero locus of the combined set on the quotient $\mathbb{P}^m \times \mathbb{P}^n$.

                                          Instances For
                                            def IsProductProjectiveAlgSet {k : Type u_2} [Field k] (m n : ) (V : Set (ProductProjectiveSpace k m n)) :

                                            A subset $V \subseteq \mathbb{P}^m \times \mathbb{P}^n$ is a product projective algebraic set if it equals ProductProjectiveAlgebraicSet S_X S_Y for some homogeneous polynomial sets.

                                            Instances For
                                              theorem mem_productProjectiveAlgebraicSet {k : Type u_2} [Field k] (m n : ) (S_X : Set (HomogPoly k m)) (S_Y : Set (HomogPoly k n)) (PQ : ProductProjectiveSpace k m n) :

                                              A point $(P, Q) \in \mathbb{P}^m \times \mathbb{P}^n$ lies in the product projective algebraic set iff $P$ lies in the projective vanishing set of $S_X$ and $Q$ lies in the projective vanishing set of $S_Y$.

                                              def concatVec {k : Type u_2} [Field k] (m n : ) (a : Fin (m + 1)AlgebraicClosure k) (b : Fin (n + 1)AlgebraicClosure k) :
                                              Fin (m + 1 + (n + 1))AlgebraicClosure k

                                              Concatenation of two vectors of homogeneous coordinates from $\mathbb{A}^{m+1}$ and $\mathbb{A}^{n+1}$ into a single vector in $\mathbb{A}^{m+1+(n+1)}$.

                                              Instances For
                                                noncomputable def segreMap {k : Type u_2} [Field k] (m n : ) (a : Fin (m + 1)AlgebraicClosure k) (b : Fin (n + 1)AlgebraicClosure k) :
                                                Fin ((m + 1) * (n + 1))AlgebraicClosure k

                                                The Segre map on coordinates: $((a_i), (b_j)) \mapsto (a_i b_j)_{i,j}$, sending $\mathbb{A}^{m+1} \times \mathbb{A}^{n+1} \to \mathbb{A}^{(m+1)(n+1)}$, indexed by the pair $(i, j)$ encoded as $i \cdot (n+1) + j$.

                                                Instances For