Documentation

Mathlib.RingTheory.Polynomial.UniversalFactorizationRing

Universal factorization ring #

Let R be a commutative ring and p : R[X] be monic of degree n and let n = m + k. We construct the universal ring of the following functors on R-Alg:

The free monic polynomial of degree n, as a polynomial in R[X₁,...,Xₙ][X].

Equations
Instances For
    theorem Polynomial.coeff_freeMonic (R : Type u_1) [CommRing R] (n k : ) :
    (freeMonic R n).coeff k = if h : k < n then MvPolynomial.X k, h else if k = n then 1 else 0
    theorem Polynomial.degree_freeMonic (R : Type u_1) [CommRing R] (n : ) [Nontrivial R] :
    (freeMonic R n).degree = n
    theorem Polynomial.map_map_freeMonic (R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] (n : ) (f : R →+* S) :

    The free monic polynomial of degree n, as a MonicDegreeEq in R[X₁,...,Xₙ][X].

    Equations
    Instances For

      MonicDegreeEq · n is representable by R[X₁,...,Xₙ], with the universal element being freeMonic.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem MvPolynomial.coe_mapEquivMonic_comp {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (f : MvPolynomial (Fin n) R →ₐ[R] S) (g : S →ₐ[R] T) :
        ((mapEquivMonic R T n) (g.comp f)) = Polynomial.map g ((mapEquivMonic R S n) f)
        theorem MvPolynomial.coe_mapEquivMonic_comp' {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (f : MvPolynomial (Fin n) R →ₐ[R] S) (g : S →ₐ[R] T) :
        (mapEquivMonic R T n) (g.comp f) = ((mapEquivMonic R S n) f).map g
        theorem MvPolynomial.mapEquivMonic_symm_map {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (p : Polynomial.MonicDegreeEq S n) (g : S →ₐ[R] T) :
        (mapEquivMonic R T n).symm (p.map g) = g.comp ((mapEquivMonic R S n).symm p)
        theorem MvPolynomial.mapEquivMonic_symm_map_algebraMap {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] (n : ) (p : Polynomial.MonicDegreeEq S n) [Algebra S T] [IsScalarTower R S T] :

        In light of the fact that MonicDegreeEq · n is representable by R[X₁,...,Xₙ], this is the map R[X₁,...,Xₘ₊ₖ] → R[X₁,...,Xₘ] ⊗ R[X₁,...,Xₖ] corresponding to the multiplication MonicDegreeEq · m × MonicDegreeEq · k → MonicDegreeEq · (m + k).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def MvPolynomial.universalFactorizationMapLiftEquiv (R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] (n m k : ) (hn : n = m + k) (p : Polynomial.MonicDegreeEq S n) :

          Lifts along universalFactorizationMap corresponds to factorization of p into monic polynomials with fixed degrees.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem MvPolynomial.ker_eval₂Hom_universalFactorizationMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
            RingHom.ker (eval₂Hom (↑(universalFactorizationMap R n m k hn)) (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)) = Ideal.span (Set.range fun (i : Fin n) => C (X i) - (map C) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X i))))

            The canonical presentation of universalFactorizationMap.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_σ' (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (f : TensorProduct R (MvPolynomial (Fin m) R) (MvPolynomial (Fin k) R)) :
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_algebra_algebraMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
              Algebra.algebraMap = (aeval (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)).toRingHom
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_algebra_smul (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (c : MvPolynomial (Fin m Fin k) (MvPolynomial (Fin n) R)) (x : TensorProduct R (MvPolynomial (Fin m) R) (MvPolynomial (Fin k) R)) :
              SMul.smul c x = (aeval (Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) fun (x : Fin k) => 1 ⊗ₜ[R] X x)).toRingHom c * x
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_val (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (a✝ : Fin m Fin k) :
              (universalFactorizationMapPresentation R n m k hn).val a✝ = Sum.elim (fun (x : Fin m) => X x ⊗ₜ[R] 1) (fun (x : Fin k) => 1 ⊗ₜ[R] X x) a✝
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_relation (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin n) :
              (universalFactorizationMapPresentation R n m k hn).relation i = C (X i) - (map C) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X i)))
              @[simp]
              theorem MvPolynomial.universalFactorizationMapPresentation_map (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (a✝ : Fin n) :
              theorem MvPolynomial.pderiv_inl_universalFactorizationMap_X (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin m) (j : Fin n) :
              (pderiv (Sum.inl i)) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X j))) = if j < i then 0 else if h : j - i < k then X (Sum.inr j - i, h) else if j - i = k then 1 else 0
              theorem MvPolynomial.pderiv_inr_universalFactorizationMap_X (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) (i : Fin k) (j : Fin n) :
              (pderiv (Sum.inr i)) ((tensorEquivSum R (Fin m) (Fin k) R) ((universalFactorizationMap R n m k hn) (X j))) = if j < i then 0 else if h : j - i < m then X (Sum.inl j - i, h) else if j - i = m then 1 else 0
              theorem MvPolynomial.finite_universalFactorizationMap (R : Type u_1) [CommRing R] (n m k : ) (hn : n = m + k) :
              def Polynomial.UniversalFactorizationRing {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
              Type u_1

              The universal factorization ring of a monic polynomial p of degree n. This is the representing object of the functor S ↦ "factorizations of p into (monic deg m) * (monic deg k) in S". See UniversalFactorizationRing.homEquiv.

              Equations
              Instances For

                The image of p in the universal factorization ring of p.

                Equations
                Instances For
                  @[simp]
                  theorem Polynomial.UniversalFactorizationRing.monicDegreeEq_coe {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                  (monicDegreeEq m k hn p) = map (algebraMap R (UniversalFactorizationRing m k hn p)) p

                  The first factor of p in the universal factorization ring of p.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The second factor of p in the universal factorization ring of p.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem Polynomial.UniversalFactorizationRing.factor₁_mul_factor₂ {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                      (factor₁ m k hn p) * (factor₂ m k hn p) = (monicDegreeEq m k hn p)
                      def Polynomial.UniversalFactorizationRing.homEquiv {R : Type u_1} (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                      (UniversalFactorizationRing m k hn p →ₐ[R] S) { q : MonicDegreeEq S m × MonicDegreeEq S k // q.1 * q.2 = map (algebraMap R S) p }

                      The universal factorization ring represents S ↦ "factorizations of p into (monic deg m) * (monic deg k) in S".

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        The presentation of UniversalFactorizationRing. Its jacobian is the resultant of the two factors (up to sign).

                        Equations
                        Instances For
                          theorem Polynomial.UniversalFactorizationRing.jacobian_resentation {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                          (presentation m k hn p).jacobian = (-1) ^ n * (↑(factor₁ m k hn p)).resultant (factor₂ m k hn p)
                          @[reducible, inline]
                          abbrev Polynomial.UniversalCoprimeFactorizationRing {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                          Type u_1

                          The universal coprime factorization ring of a monic polynomial p of degree n. This is the representing object of the functor S ↦ "factorizations of p into coprime (monic deg m) * (monic deg k) in S". See UniversalCoprimeFactorizationRing.homEquiv.

                          Equations
                          Instances For

                            The first factor of p in the universal coprime factorization ring of p.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              The second factor of p in the universal coprime factorization ring of p.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem Polynomial.UniversalCoprimeFactorizationRing.factor₁_mul_factor₂ {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                                (factor₁ m k hn p) * (factor₂ m k hn p) = (p.map (algebraMap R (UniversalCoprimeFactorizationRing m k hn p)))
                                theorem Polynomial.UniversalCoprimeFactorizationRing.isCoprime_factor₁_factor₂ {R : Type u_1} [CommRing R] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                                IsCoprime (factor₁ m k hn p) (factor₂ m k hn p)
                                def Polynomial.UniversalCoprimeFactorizationRing.homEquiv {R : Type u_1} (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) :
                                (UniversalCoprimeFactorizationRing m k hn p →ₐ[R] S) { q : MonicDegreeEq S m × MonicDegreeEq S k // q.1 * q.2 = map (algebraMap R S) p IsCoprime q.1 q.2 }

                                The universal factorization ring represents S ↦ "factorizations of p into coprime (monic deg m) * (monic deg k) in S".

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem Polynomial.UniversalCoprimeFactorizationRing.homEquiv_comp_fst {R : Type u_1} (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) {T : Type u_4} [CommRing T] [Algebra R T] (f : UniversalCoprimeFactorizationRing m k hn p →ₐ[R] S) (g : S →ₐ[R] T) :
                                  (↑((homEquiv T m k hn p) (g.comp f))).1 = (↑((homEquiv S m k hn p) f)).1.map g
                                  theorem Polynomial.UniversalCoprimeFactorizationRing.homEquiv_comp_snd {R : Type u_1} (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] {n : } (m k : ) (hn : n = m + k) (p : MonicDegreeEq R n) {T : Type u_4} [CommRing T] [Algebra R T] (f : UniversalCoprimeFactorizationRing m k hn p →ₐ[R] S) (g : S →ₐ[R] T) :
                                  (↑((homEquiv T m k hn p) (g.comp f))).2 = (↑((homEquiv S m k hn p) f)).2.map g