Documentation

EllipticCurve.ProjectiveSpace.Basic

Projective Space of a Module over a Ring #

Main definitions #

@[reducible, inline]
abbrev Module.ProjectiveSpace.AsType (R : Type u) [CommRing R] (M : Type v) [AddCommGroup M] [Module R M] :

The projective space corresponding to the module M is the space of submodules N such that M⧸N is locally free of rank 1, i.e. invertible.

Equations
Instances For

    The projective space corresponding to the module M is the space of submodules N such that M⧸N is locally free of rank 1, i.e. invertible.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]

      The functor R-Alg ⥤ Set that sends A to ℙ(A ⊗[R] M; A).

      Equations
      Instances For
        def Module.ProjectiveSpace.ofSurjective {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (f : M →ₗ[R] R) (hf : Function.Surjective f) :
        AsType R M

        The element of ℙ(M; R) given by a surjection M →ₗ[R] R.`

        Equations
        Instances For
          def Module.ProjectiveSpace.ofCoordinates {R : Type u} [CommRing R] {ι : Type u_4} [Fintype ι] (x : ιR) (hx : Ideal.span (Set.range x) = ) :
          AsType R (ιR)

          Special case for ℙⁿ: it suffices to give n + 1 coordinates.

          Equations
          Instances For
            @[reducible, inline]
            abbrev Module.ProjectiveSpace.chart (R : Type u) [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x : M) :
            Set (AsType R M)

            The affine chart indexed by x : M, consisting of those N such that there is an isomorphism M⧸N ≃ₗ[R] R, sending ⟦x⟧ to 1. Morally, this says "x is invertible".

            Equations
            Instances For
              noncomputable def Module.ProjectiveSpace.equivOfChart {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x : M) {N : AsType R M} (hn : N chart R x) :

              Given N ∈ chart R M x, we have an isomorphism M ⧸ N ≃ₗ[R] R sending x to 1.

              Equations
              Instances For
                theorem Module.ProjectiveSpace.equivOfChart_apply {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x : M) {N : AsType R M} (hn : N chart R x) :
                noncomputable def Module.ProjectiveSpace.div {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (y x : M) (p : (chart R x)) :
                R

                "Division by x" is well-defined on the chart where "x is invertible".

                Equations
                Instances For
                  theorem Module.ProjectiveSpace.add_div {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (y z x : M) :
                  div (y + z) x = div y x + div z x
                  theorem Module.ProjectiveSpace.add_div_apply {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (y z x : M) (p : (chart R x)) :
                  div (y + z) x p = div y x p + div z x p
                  theorem Module.ProjectiveSpace.smul_div {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (r : R) (y x : M) :
                  div (r y) x = r div y x
                  theorem Module.ProjectiveSpace.smul_div_apply {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (r : R) (y x : M) (p : (chart R x)) :
                  div (r y) x p = r * div y x p
                  theorem Module.ProjectiveSpace.div_self {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x : M) :
                  div x x = 1
                  theorem Module.ProjectiveSpace.div_self_apply {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x : M) (p : (chart R x)) :
                  div x x p = 1
                  theorem Module.ProjectiveSpace.div_mul_div_cancel {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x y z : M) (p : ↑(chart R y chart R z)) :
                  div x y p, * div y z p, = div x z p,
                  theorem Module.ProjectiveSpace.div_mul_div_symm {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (x y : M) (p : ↑(chart R x chart R y)) :
                  div x y p, * div y x p, = 1
                  @[reducible, inline]
                  noncomputable abbrev Module.ProjectiveSpace.chartFunctor (R : CommRingCat) (M : ModuleCat R) (x : M) :

                  chart x as a functor. A is sent to chart A (A ⊗[R] M) (1 ⊗ₜ x).

                  Equations
                  Instances For
                    theorem Module.ProjectiveSpace.chartFunctor_obj (R : CommRingCat) (M : ModuleCat R) (x : M) (A : CategoryTheory.Under R) :
                    (chartFunctor R M x).obj A = (chart (↑A.right) (1 ⊗ₜ[R] x))
                    @[reducible, inline]
                    noncomputable abbrev Module.ProjectiveSpace.chartToFunctor (R : CommRingCat) (M : ModuleCat R) (x : M) :

                    chartFunctor as a subfunctor of ProjectiveSpace.functor.

                    Equations
                    Instances For
                      def Module.ProjectiveSpace.zeros {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {n : } (f : SymmetricPower R M n) :
                      Set (AsType R M)

                      V(f) the set of zeroes of the homogeneous polynomial f of degree n.

                      Equations
                      Instances For
                        theorem Module.ProjectiveSpace.zeros_def {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {n : } (f : SymmetricPower R M n) (p : AsType R M) :
                        def Module.ProjectiveSpace.zerosOfCoordinates {R : Type u} [CommRing R] {ι : Type u_4} [Fintype ι] {n : } (f : SymmetricPower R (ιR) n) (x : ιR) (hx : Ideal.span (Set.range x) = ) (hfx : (SymmetricPower.evalSelf R n) ((SymmetricPower.map n (Fintype.linearCombination R x)) f) = 0) :
                        (zeros f)
                        Equations
                        Instances For
                          theorem Module.ProjectiveSpace.ofLinearEquiv_mem_zeros {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {M₁ : Type u_1} [AddCommGroup M₁] [Module R M₁] {n : } {f : SymmetricPower R M n} (e : M ≃ₗ[R] M₁) (p : AsType R M) (hp : p zeros f) :
                          theorem Module.ProjectiveSpace.baseChange_mem_zeros {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] (A : Type w₁) [CommRing A] [Algebra R A] {n : } {f : SymmetricPower R M n} (p : AsType R M) (hp : p zeros f) :
                          theorem Module.ProjectiveSpace.map_mem_zeros {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {A : Type w₁} [CommRing A] [Algebra R A] {B : Type w₂} [CommRing B] [Algebra R B] {n : } {f : SymmetricPower R M n} (p : AsType A (TensorProduct R A M)) (hp : p zeros ((SymmetricPower.toBaseChange R M A n) f)) (φ : A →ₐ[R] B) :
                          noncomputable def Module.ProjectiveSpace.map_zeros {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {A : Type w₁} [CommRing A] [Algebra R A] {B : Type w₂} [CommRing B] [Algebra R B] {n : } {f : SymmetricPower R M n} (φ : A →ₐ[R] B) (p : (zeros ((SymmetricPower.toBaseChange R M A n) f))) :
                          Equations
                          Instances For
                            @[simp]
                            theorem Module.ProjectiveSpace.map_zeros_coe {R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M] {A : Type w₁} [CommRing A] [Algebra R A] {B : Type w₂} [CommRing B] [Algebra R B] {n : } {f : SymmetricPower R M n} (φ : A →ₐ[R] B) (p : (zeros ((SymmetricPower.toBaseChange R M A n) f))) :
                            (map_zeros φ p) = Grassmannian.map φ p
                            noncomputable def Module.ProjectiveSpace.zerosFunctor (R : CommRingCat) (M : ModuleCat R) {n : } (f : SymmetricPower (↑R) (↑M) n) :

                            zeros as a functor.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem Module.ProjectiveSpace.zerosFunctor_obj (R : CommRingCat) (M : ModuleCat R) {n : } (f : SymmetricPower (↑R) (↑M) n) (A : CategoryTheory.Under R) :
                              (zerosFunctor R M f).obj A = (zeros ((SymmetricPower.toBaseChange (↑R) (↑M) (↑A.right) n) f))
                              @[simp]
                              theorem Module.ProjectiveSpace.zerosFunctor_map (R : CommRingCat) (M : ModuleCat R) {n : } (f : SymmetricPower (↑R) (↑M) n) {X✝ Y✝ : CategoryTheory.Under R} (φ : X✝ Y✝) (p : (zeros ((SymmetricPower.toBaseChange (↑R) (↑M) (↑X✝.right) n) f))) :