Loogle!
Result
Found 122 declarations mentioning Algebra.Generators.Ring.
- Algebra.Generators.Ring 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : Type (max w u) - Algebra.Generators.σ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : S → P.Ring - Algebra.Generators.Simps.σ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : S → P.Ring - Algebra.Generators.σ_injective 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : Function.Injective P.σ - Algebra.Generators.toExtension_Ring 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : P.toExtension.Ring = P.Ring - Algebra.Generators.ker 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : Ideal P.Ring - Algebra.Generators.instRing 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : Algebra P.Ring S - Algebra.Generators.toExtension_σ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) (a✝ : S) : P.toExtension.σ a✝ = P.σ a✝ - Algebra.Generators.toExtension_algebra₂ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : P.toExtension.algebra₂ = P.instRing - Algebra.Generators.Hom.val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra S S'] (self : P.Hom P') : ι → P'.Ring - Algebra.Generators.σ_smul 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) (x y : S) : P.σ x • y = x * y - Algebra.Generators.ker_ofAlgEquiv 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {T : Type u_8} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) : (P.ofAlgEquiv e).ker = P.ker - Algebra.Generators.Hom.ext 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} {inst✝ : CommRing R} {inst✝¹ : CommRing S} {inst✝² : Algebra R S} {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} {inst✝³ : CommRing R'} {inst✝⁴ : CommRing S'} {inst✝⁵ : Algebra R' S'} {P' : Algebra.Generators R' S' ι'} {inst✝⁶ : Algebra S S'} {x y : P.Hom P'} (val : x.val = y.val) : x = y - Algebra.Generators.Hom.ext_iff 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} {inst✝ : CommRing R} {inst✝¹ : CommRing S} {inst✝² : Algebra R S} {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} {inst✝³ : CommRing R'} {inst✝⁴ : CommRing S'} {inst✝⁵ : Algebra R' S'} {P' : Algebra.Generators R' S' ι'} {inst✝⁶ : Algebra S S'} {x y : P.Hom P'} : x = y ↔ x.val = y.val - Algebra.Generators.defaultHom_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] (P' : Algebra.Generators R' S' ι') [Algebra S S'] (a✝ : ι) : (P.defaultHom P').val a✝ = (P'.σ ∘ ⇑(algebraMap S S') ∘ P.val) a✝ - Algebra.Generators.algebraMap_surjective 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : Function.Surjective ⇑(algebraMap P.Ring S) - Algebra.Generators.Hom.toAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') : P.Ring →ₐ[R] P'.Ring - Algebra.Generators.instIsScalarTowerRing 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {R₀ : Type u_1} [CommRing R₀] [Algebra R₀ R] [Algebra R₀ S] [IsScalarTower R₀ R S] : IsScalarTower R₀ P.Ring S - Algebra.Generators.Hom.toAlgHom_id 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : (Algebra.Generators.Hom.id P).toAlgHom = AlgHom.id R P.Ring - Algebra.Generators.ofComp_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (i : ι' ⊕ ι) : (Q.ofComp P).val i = Sum.elim MvPolynomial.X (⇑MvPolynomial.C ∘ P.val) i - Algebra.Generators.toComp_toAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : (Q.toComp P).toAlgHom = MvPolynomial.rename Sum.inr - Algebra.Generators.Hom.mk 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra S S'] (val : ι → P'.Ring) (aeval_val : ∀ (i : ι), (MvPolynomial.aeval P'.val) (val i) = (algebraMap S S') (P.val i)) : P.Hom P' - Algebra.Generators.algebraMap_apply 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) (x : P.Ring) : (algebraMap P.Ring S) x = (MvPolynomial.aeval P.val) x - Algebra.Generators.aeval_val_eq_zero 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {x : P.Ring} (hx : x ∈ P.ker) : (MvPolynomial.aeval P.val) x = 0 - Algebra.Generators.Hom.toAlgHom_X 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (i : ι) : f.toAlgHom (MvPolynomial.X i) = f.val i - Algebra.Generators.Hom.toExtensionHom_toRingHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') : f.toExtensionHom.toRingHom = f.toAlgHom.toRingHom - Algebra.Generators.ker_eq_ker_aeval_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) : P.ker = RingHom.ker (MvPolynomial.aeval P.val) - Algebra.Generators.ker_ofAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {I : Type u_8} (f : MvPolynomial I R →ₐ[R] S) (h : Function.Surjective ⇑f) : (Algebra.Generators.ofAlgHom f h).ker = RingHom.ker f.toRingHom - Algebra.Generators.toAlgHom_ofComp_surjective 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : Function.Surjective ⇑(Q.ofComp P).toAlgHom - Algebra.Generators.ker_mvPolynomial 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {ι : Type w} [CommRing R] : (Algebra.Generators.mvPolynomial R ι).ker = ⊥ - Algebra.Generators.map_ofComp_ker 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : Ideal.map (Q.ofComp P).toAlgHom (Q.comp P).ker = Q.ker - Algebra.Generators.Hom.toAlgHom_C 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (r : R) : f.toAlgHom (MvPolynomial.C r) = MvPolynomial.C ((algebraMap R R') r) - Algebra.Generators.kerCompPreimage 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (x : ↥Q.ker) : ↥(Q.comp P).ker - Algebra.Generators.Hom.comp_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} {R'' : Type u_4} {S'' : Type u_5} {ι'' : Type u_6} [CommRing R''] [CommRing S''] [Algebra R'' S''] {P'' : Algebra.Generators R'' S'' ι''} [Algebra R' R''] [Algebra R' S''] [Algebra S S'] [Algebra S' S''] [Algebra S S''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower S S' S''] (f : P'.Hom P'') (g : P.Hom P') (x : ι) : (f.comp g).val x = (MvPolynomial.aeval f.val) (g.val x) - Algebra.Generators.Hom.algebraMap_toAlgHom' 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {ι' : Type u_3} [CommRing R'] [Algebra R R'] [Algebra R' S] [IsScalarTower R R' S] {P' : Algebra.Generators R' S ι'} (f : P.Hom P') (x : P.Ring) : (MvPolynomial.aeval P'.val) (f.toAlgHom x) = (MvPolynomial.aeval P.val) x - Algebra.Generators.Hom.toAlgHom_monomial 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (v : ι →₀ ℕ) (r : R) : f.toAlgHom ((MvPolynomial.monomial v) r) = r • v.prod fun x1 x2 => f.val x1 ^ x2 - Algebra.Generators.Hom.algebraMap_toAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') (x : P.Ring) : (MvPolynomial.aeval P'.val) (f.toAlgHom x) = (algebraMap S S') ((MvPolynomial.aeval P.val) x) - Algebra.Generators.toComp_toAlgHom_monomial 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (j : ι →₀ ℕ) (a : R) : (Q.toComp P).toAlgHom ((MvPolynomial.monomial j) a) = (MvPolynomial.monomial (Finsupp.sumElim 0 j)) a - Algebra.Generators.toAlgHom_ofComp_rename 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (p : P.Ring) : (Q.ofComp P).toAlgHom ((MvPolynomial.rename Sum.inr) p) = MvPolynomial.C ((algebraMap P.Ring S) p) - Algebra.Generators.Hom.toExtensionHom_toAlgHom_apply 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] (P' : Algebra.Generators R' S' ι') [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') (x : P.toExtension.Ring) : f.toExtensionHom.toAlgHom x = f.toAlgHom x - Algebra.Generators.Hom.equivAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] : P.Hom P' ≃ { f // ∀ (x : P.Ring), (MvPolynomial.aeval P'.val) (f x) = (algebraMap S S') ((MvPolynomial.aeval P.val) x) } - Algebra.Generators.ker_naive 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} [CommRing R] {σ : Type u_8} {I : Ideal (MvPolynomial σ R)} (s : MvPolynomial σ R ⧸ I → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ I), (Ideal.Quotient.mk I) (s x) = x) : (Algebra.Generators.naive s hs).ker = I - Algebra.Generators.Hom.toAlgHom_comp_apply 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] (P' : Algebra.Generators R' S' ι') {R'' : Type u_4} {S'' : Type u_5} {ι'' : Type u_6} [CommRing R''] [CommRing S''] [Algebra R'' S''] (P'' : Algebra.Generators R'' S'' ι'') [Algebra R R'] [Algebra R' R''] [Algebra R' S''] [Algebra S S'] [Algebra S' S''] [Algebra S S''] [Algebra R R''] [IsScalarTower R R' R''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower S S' S''] (f : P.Hom P') (g : P'.Hom P'') (x : P.Ring) : (g.comp f).toAlgHom x = g.toAlgHom (f.toAlgHom x) - Algebra.Generators.naive_σ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} [CommRing R] {σ : Type u_2} {I : Ideal (MvPolynomial σ R)} (s : MvPolynomial σ R ⧸ I → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ I), (Ideal.Quotient.mk I) (s x) = x) : (Algebra.Generators.naive s hs).σ = s - Algebra.Generators.ofComp_toAlgHom_monomial_sumElim 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (v₁ : ι' →₀ ℕ) (v₂ : ι →₀ ℕ) (a : R) : (Q.ofComp P).toAlgHom ((MvPolynomial.monomial (v₁.sumElim v₂)) a) = (MvPolynomial.monomial v₁) ((MvPolynomial.aeval P.val) ((MvPolynomial.monomial v₂) a)) - Algebra.Generators.ofComp_kerCompPreimage 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (x : ↥Q.ker) : (Q.ofComp P).toAlgHom ↑(Q.kerCompPreimage P x) = ↑x - Algebra.Generators.toAlgHom_ofComp_localizationAway 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] : ((Algebra.Generators.localizationAway T g).ofComp P).toAlgHom ((MvPolynomial.rename Sum.inr) (P.σ g) * MvPolynomial.X (Sum.inl ()) - 1) = MvPolynomial.C g * MvPolynomial.X () - 1 - Algebra.Generators.map_toComp_ker 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : Ideal.map (Q.toComp P).toAlgHom P.ker = RingHom.ker (Q.ofComp P).toAlgHom - Algebra.Generators.ker_comp_eq_sup 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_3} {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : (Q.comp P).ker = Ideal.map (Q.toComp P).toAlgHom P.ker ⊔ Ideal.comap (Q.ofComp P).toAlgHom Q.ker - Algebra.Generators.baseChangeFromBaseChange_apply 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {T : Type u_2} [CommRing T] [Algebra R T] (x : P.toExtension.baseChange.Ring) : (P.baseChangeFromBaseChange T).toRingHom x = (MvPolynomial.algebraTensorAlgEquiv R T) x - Algebra.Generators.Hom.equivAlgHom_apply_coe 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : P.Hom P') : ↑(Algebra.Generators.Hom.equivAlgHom f) = f.toAlgHom - Algebra.Generators.baseChangeToBaseChange_apply 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Generators R S ι) {T : Type u_2} [CommRing T] [Algebra R T] (x : (Algebra.Generators.baseChange T P).toExtension.Ring) : (P.baseChangeToBaseChange T).toRingHom x = (MvPolynomial.algebraTensorAlgEquiv R T).symm x - Algebra.Generators.Hom.equivAlgHom_symm_apply_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ι} {R' : Type u_1} {S' : Type u_2} {ι' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ι'} [Algebra R R'] [Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] (f : { f // ∀ (x : P.Ring), (MvPolynomial.aeval P'.val) (f x) = (algebraMap S S') ((MvPolynomial.aeval P.val) x) }) (i : ι) : (Algebra.Generators.Hom.equivAlgHom.symm f).val i = ↑f (MvPolynomial.X i) - Algebra.Presentation.relation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Presentation R S ι σ) : σ → self.Ring - Algebra.Generators.fg_ker_of_finitePresentation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] {α : Type u_1} (P : Algebra.Generators R S α) [Finite α] : P.ker.FG - Algebra.Presentation.fg_ker 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) [Finite σ] : P.ker.FG - Algebra.Presentation.ofAlgEquiv_relation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) (i : σ) : (P.ofAlgEquiv e).relation i = P.relation i - Algebra.Presentation.mk 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (toGenerators : Algebra.Generators R S ι) (relation : σ → toGenerators.Ring) (span_range_relation_eq_ker : Ideal.span (Set.range relation) = toGenerators.ker) : Algebra.Presentation R S ι σ - Algebra.Presentation.span_range_relation_eq_ker 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Presentation R S ι σ) : Ideal.span (Set.range self.relation) = self.ker - Algebra.Presentation.instFinitePresentationQuotientOfFinite 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) [Finite σ] [Finite ι] : Algebra.FinitePresentation R P.Quotient - Algebra.Presentation.quotientEquiv 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) : P.Quotient ≃ₐ[P.Ring] S - Algebra.Presentation.relation_mem_ker 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) (i : σ) : P.relation i ∈ P.ker - Algebra.Presentation.localizationAway_relation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} (S : Type v) [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] (x✝ : Unit) : (Algebra.Presentation.localizationAway S r).relation x✝ = MvPolynomial.C r * MvPolynomial.X () - 1 - Algebra.Generators.ker_localizationAway 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] : (Algebra.Generators.localizationAway S r).ker = Ideal.span {MvPolynomial.C r * MvPolynomial.X () - 1} - Algebra.Presentation.comp_relation_inr 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Algebra.Presentation S T ι' σ') (P : Algebra.Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] (r : σ) : (Q.comp P).relation (Sum.inr r) = (MvPolynomial.rename Sum.inr) (P.relation r) - Algebra.Generators.C_mul_X_sub_one_mem_ker 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] : MvPolynomial.C r * MvPolynomial.X () - 1 ∈ (Algebra.Generators.localizationAway S r).ker - Algebra.Presentation.comp_relation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Algebra.Presentation S T ι' σ') (P : Algebra.Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] (a✝ : σ' ⊕ σ) : (Q.comp P).relation a✝ = Sum.elim (Q.compRelationAux P) (fun rp => (MvPolynomial.rename Sum.inr) (P.relation rp)) a✝ - Algebra.Presentation.relation_comp_localizationAway_inl 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_3} [CommRing T] [Algebra S T] [Algebra R T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Presentation R S ι σ) (h1 : P.σ (-1) = -1) (h0 : P.σ 0 = 0) (r : Unit) : ((Algebra.Presentation.localizationAway T g).comp P).relation (Sum.inl r) = (MvPolynomial.rename Sum.inr) (P.σ g) * MvPolynomial.X (Sum.inl ()) - 1 - Algebra.Presentation.quotientEquiv_symm 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) (x : S) : P.quotientEquiv.symm x = (Ideal.Quotient.mk P.ker) (P.σ x) - Algebra.Presentation.quotientEquiv_mk 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Presentation R S ι σ) (p : P.Ring) : P.quotientEquiv ((Ideal.Quotient.mk P.ker) p) = (algebraMap P.Ring S) p - Algebra.Presentation.naive_relation 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ι → MvPolynomial σ R} (s : MvPolynomial σ R ⧸ Ideal.span (Set.range v) → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x) : (Algebra.Presentation.naive s hs).relation = v - Algebra.Presentation.naive_relation_apply 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ι → MvPolynomial σ R} (s : MvPolynomial σ R ⧸ Ideal.span (Set.range v) → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x) (i : ι) : (Algebra.Presentation.naive s hs).relation i = v i - Algebra.Presentation.mem_ker_naive 📋 Mathlib.RingTheory.Extension.Presentation.Basic
{R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ι → MvPolynomial σ R} (s : MvPolynomial σ R ⧸ Ideal.span (Set.range v) → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x) (i : ι) : v i ∈ (Algebra.Presentation.naive s hs).ker - Algebra.Generators.cotangentSpaceBasis_apply 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} (P : Algebra.Generators R S ι) (i : ι) : P.cotangentSpaceBasis i = 1 ⊗ₜ[P.Ring] (KaehlerDifferential.D R P.Ring) (MvPolynomial.X i) - Algebra.Generators.cotangentRestrict_mk 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} (P : Algebra.Generators R S ι) {σ : Type u_1} {u : σ → ι} (hu : Function.Injective u) (x : ↥P.ker) : ⇑((P.cotangentRestrict hu) (Algebra.Extension.Cotangent.mk x)) = fun j => (MvPolynomial.aeval P.val) ((MvPolynomial.pderiv (u j)) ↑x) - Algebra.Generators.toKaehler_tmul_D 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} {P : Algebra.Generators R S ι} (i : ι) : P.toExtension.toKaehler (1 ⊗ₜ[P.toExtension.Ring] (KaehlerDifferential.D R P.Ring) (MvPolynomial.X i)) = (KaehlerDifferential.D R S) (P.val i) - Algebra.Extension.Cotangent.mk_C_mem_ker_cotangentComplex 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {σ : Type u_1} (G : Algebra.Generators R S σ) {r : R} (hr : MvPolynomial.C r ∈ G.ker) : Algebra.Extension.Cotangent.mk ⟨MvPolynomial.C r, hr⟩ ∈ G.toExtension.cotangentComplex.ker - Algebra.Generators.cotangentSpaceBasis_repr_tmul 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} (P : Algebra.Generators R S ι) (r : S) (x : P.Ring) (i : ι) : (P.cotangentSpaceBasis.repr (r ⊗ₜ[P.Ring] (KaehlerDifferential.D R P.Ring) x)) i = r * (MvPolynomial.aeval P.val) ((MvPolynomial.pderiv i) x) - Algebra.Generators.H1Cotangent.δAux 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
(R : Type u₁) {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} (Q : Algebra.Generators S T ι) : Q.Ring →ₗ[R] TensorProduct S T Ω[S⁄R] - Algebra.Generators.H1Cotangent.δAux_X 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} (Q : Algebra.Generators S T ι) (i : ι) : (Algebra.Generators.H1Cotangent.δAux R Q) (MvPolynomial.X i) = 0 - Algebra.Generators.H1Cotangent.δAux_C 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} (Q : Algebra.Generators S T ι) (r : S) : (Algebra.Generators.H1Cotangent.δAux R Q) (MvPolynomial.C r) = 1 ⊗ₜ[S] (KaehlerDifferential.D R S) r - Algebra.Generators.H1Cotangent.δAux_monomial 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} (Q : Algebra.Generators S T ι) (n : ι →₀ ℕ) (r : S) : (Algebra.Generators.H1Cotangent.δAux R Q) ((MvPolynomial.monomial n) r) = (n.prod fun x1 x2 => Q.val x1 ^ x2) ⊗ₜ[S] (KaehlerDifferential.D R S) r - Algebra.Generators.H1Cotangent.δAux_mul 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} (Q : Algebra.Generators S T ι) (x y : Q.Ring) : (Algebra.Generators.H1Cotangent.δAux R Q) (x * y) = x • (Algebra.Generators.H1Cotangent.δAux R Q) y + y • (Algebra.Generators.H1Cotangent.δAux R Q) x - Algebra.Generators.H1Cotangent.δ_C 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} {σ : Type w₂} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) {r : S} (hr : MvPolynomial.C r ∈ Q.ker) : (Algebra.Generators.H1Cotangent.δ Q P) ⟨Algebra.Extension.Cotangent.mk ⟨MvPolynomial.C r, hr⟩, ⋯⟩ = 1 ⊗ₜ[S] (KaehlerDifferential.D R S) r - Algebra.Generators.H1Cotangent.δ_eq_δAux 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} {σ : Type w₂} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (x : ↥Q.ker) (hx : Algebra.Extension.Cotangent.mk x ∈ Q.toExtension.cotangentComplex.ker) : (Algebra.Generators.H1Cotangent.δ Q P) ⟨Algebra.Extension.Cotangent.mk x, hx⟩ = (Algebra.Generators.H1Cotangent.δAux R Q) ↑x - Algebra.Generators.H1Cotangent.δAux_toAlgHom 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} {ι' : Type w₃} {Q : Algebra.Generators S T ι} {Q' : Algebra.Generators S T ι'} (f : Q.Hom Q') (x : Q.Ring) : (Algebra.Generators.H1Cotangent.δAux R Q') (f.toAlgHom x) = (Algebra.Generators.H1Cotangent.δAux R Q) x + (Finsupp.linearCombination T (⇑(Algebra.Generators.H1Cotangent.δAux R Q') ∘ f.val)) (Q.cotangentSpaceBasis.repr (1 ⊗ₜ[Q.Ring] (KaehlerDifferential.D S Q.Ring) x)) - Algebra.Generators.H1Cotangent.δAux_ofComp 📋 Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S] {T : Type u₃} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ι : Type w₁} {σ : Type w₂} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (x : (Q.comp P).Ring) : (Algebra.Generators.H1Cotangent.δAux R Q) ((Q.ofComp P).toAlgHom x) = (LinearMap.baseChange T P.toExtension.toKaehler) ((Algebra.Generators.CotangentSpace.compEquiv Q P) (1 ⊗ₜ[(Q.comp P).Ring] (KaehlerDifferential.D R (Q.comp P).Ring) x)).2 - Algebra.PreSubmersivePresentation.jacobiMatrix 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) [Fintype σ] [DecidableEq σ] : Matrix σ σ P.Ring - Algebra.PreSubmersivePresentation.jacobiMatrix_ofAlgEquiv 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) [Fintype σ] [DecidableEq σ] : (P.ofAlgEquiv e).jacobiMatrix = P.jacobiMatrix - Algebra.PreSubmersivePresentation.basis 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) [Finite σ] : Module.Basis σ P.Ring (σ → P.Ring) - Algebra.PreSubmersivePresentation.localizationAway_jacobiMatrix 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] : (Algebra.PreSubmersivePresentation.localizationAway S r).jacobiMatrix = Matrix.diagonal fun x => MvPolynomial.C r - Algebra.PreSubmersivePresentation.jacobiMatrix_apply 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) [Fintype σ] [DecidableEq σ] (i j : σ) : P.jacobiMatrix i j = (MvPolynomial.pderiv (P.map i)) (P.relation j) - Algebra.PreSubmersivePresentation.jacobian_eq_jacobiMatrix_det 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) [Fintype σ] [DecidableEq σ] : P.jacobian = (algebraMap P.Ring S) P.jacobiMatrix.det - Algebra.PreSubmersivePresentation.baseChange_ring 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) : (Algebra.PreSubmersivePresentation.baseChange R P).Ring = P.Ring - Algebra.PreSubmersivePresentation.differential 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) [Finite σ] : (σ → P.Ring) →ₗ[P.Ring] σ → P.Ring - Algebra.SubmersivePresentation.ofSubsingleton_relation 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] [Subsingleton S] (x✝ : PUnit.{u_1 + 1}) : (Algebra.SubmersivePresentation.ofSubsingleton R S).relation x✝ = 1 - Algebra.PreSubmersivePresentation.jacobiMatrix_reindex 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.PreSubmersivePresentation R S ι σ) {ι' : Type u_1} {σ' : Type u_2} (e : ι' ≃ ι) (f : σ' ≃ σ) [Fintype σ'] [DecidableEq σ'] [Fintype σ] [DecidableEq σ] : (P.reindex e f).jacobiMatrix = ((Matrix.reindex f.symm f.symm) P.jacobiMatrix).map ⇑(MvPolynomial.rename ⇑e.symm) - Algebra.PreSubmersivePresentation.jacobiMatrix_naive 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ι → MvPolynomial σ R} (a : ι → σ) (ha : Function.Injective a) (s : MvPolynomial σ R ⧸ Ideal.span (Set.range v) → MvPolynomial σ R) (hs : ∀ (x : MvPolynomial σ R ⧸ Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x) [Fintype ι] [DecidableEq ι] (i j : ι) : (Algebra.PreSubmersivePresentation.naive a ha s hs).jacobiMatrix i j = (MvPolynomial.pderiv (a i)) (v j) - Algebra.Presentation.HasCoeffs.relation_mem_range_map 📋 Mathlib.RingTheory.Extension.Presentation.Core
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Presentation R S ι σ} (R₀ : Type u_5) [CommRing R₀] [Algebra R₀ R] [Algebra R₀ S] [IsScalarTower R₀ R S] [P.HasCoeffs R₀] (x : σ) : P.relation x ∈ Set.range ⇑(MvPolynomial.map (algebraMap R₀ R)) - Algebra.SubmersivePresentation.map_jacobianOfHasCoeffs 📋 Mathlib.RingTheory.Extension.Presentation.Core
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [Finite σ] (P : Algebra.SubmersivePresentation R S ι σ) (R₀ : Type u_5) [CommRing R₀] [Algebra R₀ R] [Algebra R₀ S] [IsScalarTower R₀ R S] [P.HasCoeffs R₀] [Fintype σ] [DecidableEq σ] : (MvPolynomial.map (algebraMap R₀ R)) (P.jacobianOfHasCoeffs R₀) = P.jacobiMatrix.det - Algebra.SubmersivePresentation.jacobianRelations_spec 📋 Mathlib.RingTheory.Extension.Presentation.Core
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [Finite σ] (P : Algebra.SubmersivePresentation R S ι σ) [DecidableEq σ] [Fintype σ] : ∑ i, P.jacobianRelations i * P.relation i = P.jacobiMatrix.det * P.σ ↑⋯.unit⁻¹ - 1 - Algebra.SubmersivePresentation.exists_sum_eq_σ_jacobian_mul_σ_jacobian_inv_sub_one 📋 Mathlib.RingTheory.Extension.Presentation.Core
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [Finite σ] (P : Algebra.SubmersivePresentation R S ι σ) [DecidableEq σ] [Fintype σ] : ∃ v, ∑ i, v i * P.relation i = P.jacobiMatrix.det * P.σ ↑⋯.unit⁻¹ - 1 - Algebra.PreSubmersivePresentation.cotangentComplexAux_apply 📋 Mathlib.RingTheory.Smooth.StandardSmoothCotangent
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [Finite σ] (P : Algebra.PreSubmersivePresentation R S ι σ) (x : ↥P.ker) (i : σ) : P.cotangentComplexAux (Algebra.Extension.Cotangent.mk x) i = (MvPolynomial.aeval P.val) ((MvPolynomial.pderiv (P.map i)) ↑x) - Algebra.PreSubmersivePresentation.cotangentComplexAux_zero_iff 📋 Mathlib.RingTheory.Smooth.StandardSmoothCotangent
{R : Type u_1} {S : Type u_2} {ι : Type u_3} {σ : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [Finite σ] {P : Algebra.PreSubmersivePresentation R S ι σ} (x : ↥P.ker) : P.cotangentComplexAux (Algebra.Extension.Cotangent.mk x) = 0 ↔ ∀ (i : σ), (MvPolynomial.aeval P.val) ((MvPolynomial.pderiv (P.map i)) ↑x) = 0 - Algebra.Generators.comp_localizationAway_ker 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} {T : Type u_3} {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) (f : P.Ring) (h : (algebraMap P.Ring S) f = g) : ((Algebra.Generators.localizationAway T g).comp P).ker = Ideal.map ((Algebra.Generators.localizationAway T g).toComp P).toAlgHom P.ker ⊔ Ideal.span {(MvPolynomial.rename Sum.inr) f * MvPolynomial.X (Sum.inl ()) - 1} - Algebra.Generators.compLocalizationAwayAlgHom 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} (T : Type u_3) {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) : ((Algebra.Generators.localizationAway T g).comp P).Ring →ₐ[R] Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2)) (P.σ g)) - Algebra.Generators.compLocalizationAwayAlgHom_relation_eq_zero 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} {T : Type u_3} {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) : (Algebra.Generators.compLocalizationAwayAlgHom T g P) ((MvPolynomial.rename Sum.inr) (P.σ g) * MvPolynomial.X (Sum.inl ()) - 1) = 0 - Algebra.Generators.compLocalizationAwayAlgHom_X_inl 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} {T : Type u_3} {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) : (Algebra.Generators.compLocalizationAwayAlgHom T g P) (MvPolynomial.X (Sum.inl ())) = IsLocalization.Away.invSelf ((Ideal.Quotient.mk (P.ker ^ 2)) (P.σ g)) - Algebra.Generators.compLocalizationAwayAlgHom_toAlgHom_toComp 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} {T : Type u_3} {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) (x : P.Ring) : (Algebra.Generators.compLocalizationAwayAlgHom T g P) (((Algebra.Generators.localizationAway T g).toComp P).toAlgHom x) = (algebraMap P.Ring (Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2)) (P.σ g)))) x - Algebra.Generators.sq_ker_comp_le_ker_compLocalizationAwayAlgHom 📋 Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
{R : Type u_1} {S : Type u_2} {T : Type u_3} {ι : Type u_4} [CommRing R] [CommRing S] [Algebra R S] [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Algebra.Generators R S ι) : ((Algebra.Generators.localizationAway T g).comp P).ker ^ 2 ≤ RingHom.ker (Algebra.Generators.compLocalizationAwayAlgHom T g P) - _private.Mathlib.RingTheory.Extension.Cotangent.Basis.0.Algebra.Generators.PresentationOfFreeCotangent.Aux.g 📋 Mathlib.RingTheory.Extension.Cotangent.Basis
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_4} {P : Algebra.Generators R S ι} {σ : Type u_5} {b : Module.Basis σ S P.toExtension.Cotangent} (self : Algebra.Generators.PresentationOfFreeCotangent.Aux✝ P b) : P.Ring - _private.Mathlib.RingTheory.Extension.Cotangent.Basis.0.Algebra.Generators.PresentationOfFreeCotangent.Aux.hgmem 📋 Mathlib.RingTheory.Extension.Cotangent.Basis
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_4} {P : Algebra.Generators R S ι} {σ : Type u_5} {b : Module.Basis σ S P.toExtension.Cotangent} (self : Algebra.Generators.PresentationOfFreeCotangent.Aux✝ P b) : Algebra.Generators.PresentationOfFreeCotangent.Aux.g✝ self - 1 ∈ P.ker - _private.Mathlib.RingTheory.Extension.Cotangent.Basis.0.Algebra.Generators.PresentationOfFreeCotangent.Aux.hg 📋 Mathlib.RingTheory.Extension.Cotangent.Basis
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_4} {P : Algebra.Generators R S ι} {σ : Type u_5} {b : Module.Basis σ S P.toExtension.Cotangent} (self : Algebra.Generators.PresentationOfFreeCotangent.Aux✝ P b) : Algebra.Generators.PresentationOfFreeCotangent.Aux.g✝ self • P.ker ≤ Ideal.span (Set.range (Subtype.val ∘ Algebra.Generators.PresentationOfFreeCotangent.Aux.f✝ self ∘ ⇑b)) - _private.Mathlib.RingTheory.Smooth.NoetherianDescent.0.Algebra.Smooth.DescentAux.q 📋 Mathlib.RingTheory.Smooth.NoetherianDescent
{A : Type u} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] (self : Algebra.Smooth.DescentAux✝ A B) : Algebra.Smooth.DescentAux.vars✝ self → MvPolynomial (Algebra.Smooth.DescentAux.rels✝ self) (Algebra.Smooth.DescentAux.P✝ self).Ring - _private.Mathlib.RingTheory.Smooth.NoetherianDescent.0.Algebra.Smooth.DescentAux.hqhom 📋 Mathlib.RingTheory.Smooth.NoetherianDescent
{A : Type u} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] (self : Algebra.Smooth.DescentAux✝ A B) (i : Algebra.Smooth.DescentAux.vars✝ self) : (Algebra.Smooth.DescentAux.q✝ self i).IsHomogeneous 1 - _private.Mathlib.RingTheory.Smooth.NoetherianDescent.0.Algebra.Smooth.DescentAux.hq 📋 Mathlib.RingTheory.Smooth.NoetherianDescent
{A : Type u} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] (self : Algebra.Smooth.DescentAux✝ A B) (i : Algebra.Smooth.DescentAux.vars✝ self) : (MvPolynomial.eval (Algebra.Smooth.DescentAux.P✝ self).relation) (Algebra.Smooth.DescentAux.q✝ self i) = Algebra.Smooth.DescentAux.h✝ self i - MvPolynomial.X i - _private.Mathlib.RingTheory.Smooth.NoetherianDescent.0.Algebra.Smooth.DescentAux.hp 📋 Mathlib.RingTheory.Smooth.NoetherianDescent
{A : Type u} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] (self : Algebra.Smooth.DescentAux✝ A B) (j : Algebra.Smooth.DescentAux.rels✝ self) : (MvPolynomial.eval (Algebra.Smooth.DescentAux.P✝ self).relation) (Algebra.Smooth.DescentAux.p✝ self j) = (MvPolynomial.aeval (Algebra.Smooth.DescentAux.h✝ self)) ((Algebra.Smooth.DescentAux.P✝ self).relation j) - _private.Mathlib.RingTheory.Smooth.NoetherianDescent.0.Algebra.Smooth.DescentAux.σ 📋 Mathlib.RingTheory.Smooth.NoetherianDescent
{A : Type u} {B : Type u_2} [CommRing A] [CommRing B] [Algebra A B] (self : Algebra.Smooth.DescentAux✝ A B) : B →ₐ[A] MvPolynomial (Algebra.Smooth.DescentAux.vars✝ self) A ⧸ (Algebra.Smooth.DescentAux.P✝ self).ker ^ 2 - StandardEtalePresentation.toPresentation_relation 📋 Mathlib.RingTheory.Etale.StandardEtale
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (P : StandardEtalePresentation R S) (a✝ : Fin (Nat.succ 1)) : P.toPresentation.relation a✝ = ![(Polynomial.Bivariate.equivMvPolynomial R) (Polynomial.C P.f), (Polynomial.Bivariate.equivMvPolynomial R) (Polynomial.C P.g) * MvPolynomial.X 1 - 1] a✝ - MvPolynomial.universalFactorizationMapPresentation_jacobiMatrix 📋 Mathlib.RingTheory.Polynomial.UniversalFactorizationRing
(R : Type u_1) [CommRing R] (n m k : ℕ) (hn : n = m + k) : (MvPolynomial.universalFactorizationMapPresentation R n m k hn).jacobiMatrix = -((Matrix.reindex (finCongr ⋯) (finCongr ⋯)) ((Polynomial.map ((MvPolynomial.mapAlgHom (Algebra.ofId R (MvPolynomial (Fin n) R))).comp (MvPolynomial.rename Sum.inl)).toRingHom (Polynomial.freeMonic R m)).sylvester (Polynomial.map ((MvPolynomial.mapAlgHom (Algebra.ofId R (MvPolynomial (Fin n) R))).comp (MvPolynomial.rename Sum.inr)).toRingHom (Polynomial.freeMonic R k)) m k)).transpose - MvPolynomial.universalFactorizationMapPresentation_relation 📋 Mathlib.RingTheory.Polynomial.UniversalFactorizationRing
(R : Type u_1) [CommRing R] (n m k : ℕ) (hn : n = m + k) (i : Fin n) : (MvPolynomial.universalFactorizationMapPresentation R n m k hn).relation i = MvPolynomial.C (MvPolynomial.X i) - (MvPolynomial.map MvPolynomial.C) ((MvPolynomial.tensorEquivSum R (Fin m) (Fin k) R) ((MvPolynomial.universalFactorizationMap R n m k hn) (MvPolynomial.X i))) - Algebra.Extension.h1CotangentExtendScalarsEquiv_toLinearMap 📋 Mathlib.RingTheory.Extension.ExtendScalars
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (P : Algebra.Extension R S) : ↑P.h1CotangentExtendScalarsEquiv = Algebra.Extension.H1Cotangent.map (Algebra.Extension.Hom.ofAlgHom (Algebra.ofId P.Ring (Algebra.Generators.self P.Ring S).Ring) ⋯)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59