Loogle!
Result
Found 185 declarations mentioning Algebra.Generators.
- Algebra.Generators.id 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} [CommRing R] : Algebra.Generators R R PEmpty.{w + 1} - Algebra.Generators 📋 Mathlib.RingTheory.Extension.Generators
(R : Type u) (S : Type v) (ι : Type w) [CommRing R] [CommRing S] [Algebra R S] : Type (max (max u v) w) - Algebra.Generators.self 📋 Mathlib.RingTheory.Extension.Generators
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] : Algebra.Generators R S S - 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.val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S ι) : ι → 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 ι) : Algebra.Extension R S - Algebra.Generators.σ' 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S ι) : S → MvPolynomial ι R - 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.localizationAway 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} (S : Type v) [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] : Algebra.Generators R S Unit - Algebra.Generators.reindex 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} (P : Algebra.Generators R S ι') (e : ι ≃ ι') : Algebra.Generators R S ι - Algebra.Generators.extend 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} (P : Algebra.Generators R S ι) (b : ι' → S) : Algebra.Generators R S (ι ⊕ ι') - Algebra.Generators.finiteType 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {α : Type u_2} [Finite α] (P : Algebra.Generators R S α) : Algebra.FiniteType R S - Algebra.FiniteType.iff_exists_generators 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] : Algebra.FiniteType R S ↔ ∃ n, Nonempty (Algebra.Generators R S (Fin n)) - 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.Hom.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 ι) : P.Hom 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.algebra 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S ι) : Algebra (MvPolynomial ι R) S - 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.extend_val_inr 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} (P : Algebra.Generators R S ι) (b : ι' → S) (i : ι') : (P.extend b).val (Sum.inr i) = b i - 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.mvPolynomial 📋 Mathlib.RingTheory.Extension.Generators
(R : Type u) (ι : Type w) [CommRing R] : Algebra.Generators R (MvPolynomial ι R) ι - Algebra.Generators.Hom 📋 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'] : Type (max (max u_1 u_3) w) - Algebra.Generators.extend_val_inl 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} (P : Algebra.Generators R S ι) (b : ι' → S) (i : ι) : (P.extend b).val (Sum.inl i) = P.val i - Algebra.Generators.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_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) : Algebra.Generators R T ι - Algebra.Generators.toExtension_commRing 📋 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.commRing = AddMonoidAlgebra.commRing - Algebra.Generators.Hom.id_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 ι) (n : ι) : (Algebra.Generators.Hom.id P).val n = MvPolynomial.X n - Algebra.Generators.defaultHom 📋 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'] : P.Hom P' - Algebra.Generators.ofSurjectiveAlgebraMap 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (h : Function.Surjective ⇑(algebraMap R S)) : Algebra.Generators R S PEmpty.{w + 1} - Algebra.Generators.instInhabitedHom 📋 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'] : Inhabited (P.Hom P') - Algebra.Generators.reindex_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} (P : Algebra.Generators R S ι') (e : ι ≃ ι') : (P.reindex e).val = P.val ∘ ⇑e - 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.extendScalars 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} (S : Type v) {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_2} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T ι) : Algebra.Generators S T ι - Algebra.Generators.comp 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {T : Type u_2} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) : Algebra.Generators R T (ι' ⊕ ι) - 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₁ = AddMonoidAlgebra.algebra - 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.toExtendScalars 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T ι) : P.Hom (Algebra.Generators.extendScalars S P) - Algebra.Generators.extendScalars_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} (S : Type v) {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_2} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T ι) (a✝ : ι) : (Algebra.Generators.extendScalars S P).val a✝ = P.val a✝ - 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.toComp 📋 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.Hom (Q.comp P) - Algebra.Generators.ofComp 📋 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).Hom Q - Algebra.Generators.ofAlgEquiv_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 ι) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) : (P.ofAlgEquiv e).val = ⇑e ∘ P.val - Algebra.Generators.baseChange 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (T : Type u_2) [CommRing T] [Algebra R T] (P : Algebra.Generators R S ι) : Algebra.Generators T (TensorProduct R T S) ι - Algebra.Generators.toExtendScalars_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_7} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (P : Algebra.Generators R T ι) (n : ι) : P.toExtendScalars.val n = MvPolynomial.X n - 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.toComp_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.toComp P).val i = MvPolynomial.X (Sum.inr i) - Algebra.Generators.Hom.toExtensionHom_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).toExtensionHom = Algebra.Extension.Hom.id P.toExtension - Algebra.Generators.ofSurjective 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (val : ι → S) (h : Function.Surjective ⇑(MvPolynomial.aeval val)) : Algebra.Generators R S ι - 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.aeval_val_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 ⇑(MvPolynomial.aeval P.val) - 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.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 ι) (s : S) : (MvPolynomial.aeval P.val) (P.σ s) = s - Algebra.Generators.aeval_val_σ' 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S ι) (s : S) : (MvPolynomial.aeval self.val) (self.σ' s) = s - Algebra.Generators.comp_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {T : Type u_2} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (a✝ : ι' ⊕ ι) : (Q.comp P).val a✝ = Sum.elim Q.val (⇑(algebraMap S T) ∘ P.val) a✝ - 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.toExtensionHom 📋 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') : P.toExtension.Hom P'.toExtension - Algebra.Generators.Hom.id_comp 📋 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'] (f : P.Hom P') : (Algebra.Generators.Hom.id P').comp f = f - 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.ofAlgHom 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {I : Type u_1} (f : MvPolynomial I R →ₐ[R] S) (h : Function.Surjective ⇑f) : Algebra.Generators R S I - Algebra.Generators.baseChange_val 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (T : Type u_2) [CommRing T] [Algebra R T] (P : Algebra.Generators R S ι) (x : ι) : (Algebra.Generators.baseChange T P).val x = 1 ⊗ₜ[R] P.val x - Algebra.Generators.ofSet 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {s : Set S} (hs : Algebra.adjoin R s = ⊤) : Algebra.Generators R S ↑s - 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.comp_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 ι} {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.comp (Algebra.Generators.Hom.id P) = f - Algebra.Generators.Hom.comp 📋 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') : P.Hom P'' - 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.Hom.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 ι} {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') (i : ι) : (MvPolynomial.aeval P'.val) (self.val i) = (algebraMap S S') (P.val i) - 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.baseChangeFromBaseChange 📋 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] : P.toExtension.baseChange.Hom (Algebra.Generators.baseChange T P).toExtension - Algebra.Generators.baseChangeToBaseChange 📋 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] : (Algebra.Generators.baseChange T P).toExtension.Hom P.toExtension.baseChange - 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.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.algebraMap_eq 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (self : Algebra.Generators R S ι) : algebraMap (MvPolynomial ι R) S = ↑(MvPolynomial.aeval self.val) - 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.toExtensionHom_comp 📋 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 S'] [IsScalarTower R S S'] [Algebra R R''] [Algebra R S''] [IsScalarTower R R'' S''] [IsScalarTower R S S''] [IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower S S' S''] [IsScalarTower R R' R''] [IsScalarTower R R' S'] (f : P'.Hom P'') (g : P.Hom P') : (f.comp g).toExtensionHom = f.toExtensionHom.comp g.toExtensionHom - Algebra.Generators.mk 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] (val : ι → S) (σ' : S → MvPolynomial ι R) (aeval_val_σ' : ∀ (s : S), (MvPolynomial.aeval val) (σ' s) = s) (algebra : Algebra (MvPolynomial ι R) S) (algebraMap_eq : algebraMap (MvPolynomial ι R) S = ↑(MvPolynomial.aeval val) := by rfl) : Algebra.Generators R S ι - 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.comp_σ 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ι : Type w} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {T : Type u_2} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.Generators S T ι') (P : Algebra.Generators R S ι) (x : T) : (Q.comp P).σ x = (Q.σ x).coeff.sum fun n r => (MvPolynomial.rename Sum.inr) (P.σ r) * (MvPolynomial.monomial (Finsupp.mapDomain Sum.inl n)) 1 - 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.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.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.naive 📋 Mathlib.RingTheory.Extension.Generators
{R : Type u} [CommRing R] {σ : Type u_2} {I : Ideal (MvPolynomial σ R)} (s : MvPolynomial σ R ⧸ I → MvPolynomial σ R := Function.surjInv ⋯) (hs : ∀ (x : MvPolynomial σ R ⧸ I), (Ideal.Quotient.mk I) (s x) = x := by apply Function.surjInv_eq) : Algebra.Generators R (MvPolynomial σ R ⧸ I) σ - 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.toGenerators 📋 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 ι σ) : Algebra.Generators R S ι - 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.reindex_toGenerators 📋 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 ι σ) {ι' : Type u_1} {σ' : Type u_2} (e : ι' ≃ ι) (f : σ' ≃ σ) : (P.reindex e f).toGenerators = P.reindex e - Algebra.Presentation.ofAlgEquiv_toGenerators 📋 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) : (P.ofAlgEquiv e).toGenerators = P.ofAlgEquiv e - 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.toGenerators_comp 📋 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] : (Q.comp P).toGenerators = Q.comp P.toGenerators - Algebra.Presentation.baseChange_toGenerators 📋 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_1) [CommRing T] [Algebra R T] (P : Algebra.Presentation R S ι σ) : (Algebra.Presentation.baseChange T P).toGenerators = Algebra.Generators.baseChange T P.toGenerators - Algebra.Presentation.naive_toGenerators 📋 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 := Function.surjInv ⋯) (hs : ∀ (x : MvPolynomial σ R ⧸ Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) : (Algebra.Presentation.naive s hs).toGenerators = Algebra.Generators.naive s hs - Algebra.Generators.cotangentRestrict 📋 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) : P.toExtension.Cotangent →ₗ[S] σ →₀ S - Algebra.Generators.equivH1Cotangent 📋 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 ι) : P.toExtension.H1Cotangent ≃ₗ[S] Algebra.H1Cotangent R S - Algebra.Generators.H1Cotangent.equiv 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} {ι' : Type u_1} (P : Algebra.Generators R S ι) (P' : Algebra.Generators R S ι') : P.toExtension.H1Cotangent ≃ₗ[S] P'.toExtension.H1Cotangent - Algebra.Generators.instFreeCotangentSpaceToExtension 📋 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 ι) : Module.Free S P.toExtension.CotangentSpace - Algebra.Generators.cotangentSpaceBasis 📋 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 ι) : Module.Basis ι S P.toExtension.CotangentSpace - 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_cotangentSpaceBasis 📋 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 (P.cotangentSpaceBasis i) = (KaehlerDifferential.D R S) (P.val i) - 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.cotangentSpaceBasis_repr_one_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 ι) (x : P.toExtension.Ring) (i : ι) : (P.cotangentSpaceBasis.repr (1 ⊗ₜ[P.toExtension.Ring] (KaehlerDifferential.D R P.toExtension.Ring) x)) i = (MvPolynomial.aeval P.val) ((MvPolynomial.pderiv i) x) - Algebra.Generators.H1Cotangent.equiv_apply 📋 Mathlib.RingTheory.Extension.Cotangent.Basic
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] {ι : Type w} {ι' : Type u_1} (P : Algebra.Generators R S ι) (P' : Algebra.Generators R S ι') (c : ↥P.toExtension.cotangentComplex.ker) : (Algebra.Generators.H1Cotangent.equiv P P') c = ⟨(Algebra.Extension.Cotangent.map (P.defaultHom P').toExtensionHom) ↑c, ⋯⟩ - Algebra.Generators.repr_CotangentSpaceMap 📋 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' : Type u'} {S' : Type v'} {ι' : Type w'} [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') (i : ι) (j : ι') : (P'.cotangentSpaceBasis.repr ((Algebra.Extension.CotangentSpace.map f.toExtensionHom) (P.cotangentSpaceBasis i))) j = (MvPolynomial.aeval P'.val) ((MvPolynomial.pderiv j) (f.val i)) - Algebra.Generators.H1Cotangent.δ 📋 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 σ) : Q.toExtension.H1Cotangent →ₗ[T] TensorProduct S T Ω[S⁄R] - Algebra.Generators.H1Cotangent.δ_eq_δ 📋 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₂} {σ' : Type w₄} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (P' : Algebra.Generators R S σ') : Algebra.Generators.H1Cotangent.δ Q P = Algebra.Generators.H1Cotangent.δ Q P' - 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.Cotangent.surjective_map_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 σ) : Function.Surjective ⇑(Algebra.Extension.Cotangent.map (Q.ofComp P).toExtensionHom) - Algebra.Generators.H1Cotangent.δ_comp_equiv 📋 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₃} {σ : Type w₂} {σ' : Type w₄} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (Q' : Algebra.Generators S T ι') (P' : Algebra.Generators R S σ') : Algebra.Generators.H1Cotangent.δ Q P ∘ₗ ↑(Algebra.Generators.H1Cotangent.equiv Q' Q) = Algebra.Generators.H1Cotangent.δ Q' P' - 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.exact_δ_map 📋 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 σ) : Function.Exact ⇑(Algebra.Generators.H1Cotangent.δ Q P) ⇑(KaehlerDifferential.mapBaseChange R S T) - Algebra.Generators.H1Cotangent.exact_map_δ' 📋 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₂} {τ : Type w₅} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (W : Algebra.Generators R T τ) (f : W.Hom Q) : Function.Exact ⇑(Algebra.Extension.H1Cotangent.map f.toExtensionHom) ⇑(Algebra.Generators.H1Cotangent.δ Q P) - Algebra.Generators.H1Cotangent.exact_map_δ 📋 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 σ) : Function.Exact ⇑(Algebra.Extension.H1Cotangent.map (Q.ofComp P).toExtensionHom) ⇑(Algebra.Generators.H1Cotangent.δ Q P) - Algebra.Generators.Cotangent.exact 📋 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 σ) : Function.Exact ⇑(LinearMap.liftBaseChange T (Algebra.Extension.Cotangent.map (Q.toComp P).toExtensionHom)) ⇑(Algebra.Extension.Cotangent.map (Q.ofComp P).toExtensionHom) - Algebra.Generators.H1Cotangent.δ_map 📋 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₃} {σ : Type w₂} {σ' : Type w₄} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (Q' : Algebra.Generators S T ι') (P' : Algebra.Generators R S σ') (f : Q'.Hom Q) (x : Q'.toExtension.H1Cotangent) : (Algebra.Generators.H1Cotangent.δ Q P) ((Algebra.Extension.H1Cotangent.map f.toExtensionHom) x) = (Algebra.Generators.H1Cotangent.δ Q' P') x - Algebra.Generators.H1Cotangent.liftBaseChange_range_le 📋 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 σ) : (LinearMap.liftBaseChange T (Algebra.Extension.H1Cotangent.map (Q.toComp P).toExtensionHom)).range ≤ (Algebra.Extension.H1Cotangent.map (Q.ofComp P).toExtensionHom).ker - Algebra.Generators.H1Cotangent.exact_liftBaseChange_map_of_flat' 📋 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₂} {τ : Type w₅} (Q : Algebra.Generators S T ι) (P : Algebra.Generators R S σ) (W : Algebra.Generators R T τ) [Module.Flat S T] (f : W.Hom Q) (g : P.Hom W) : Function.Exact ⇑(LinearMap.liftBaseChange T (Algebra.Extension.H1Cotangent.map g.toExtensionHom)) ⇑(Algebra.Extension.H1Cotangent.map f.toExtensionHom) - Algebra.Generators.H1Cotangent.exact_liftBaseChange_map_of_flat 📋 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 σ) [Module.Flat S T] : Function.Exact ⇑(LinearMap.liftBaseChange T (Algebra.Extension.H1Cotangent.map (Q.toComp P).toExtensionHom)) ⇑(Algebra.Extension.H1Cotangent.map (Q.ofComp P).toExtensionHom) - 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.CotangentSpace.map_ofComp_surjective 📋 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 σ) : Function.Surjective ⇑(Algebra.Extension.CotangentSpace.map (Q.ofComp P).toExtensionHom) - Algebra.Generators.CotangentSpace.compEquiv 📋 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 σ) : (Q.comp P).toExtension.CotangentSpace ≃ₗ[T] Q.toExtension.CotangentSpace × TensorProduct S T P.toExtension.CotangentSpace - 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.map_comp_cotangentComplex_baseChange 📋 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 σ) : LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom) ∘ₗ LinearMap.baseChange T P.toExtension.cotangentComplex = (Q.comp P).toExtension.cotangentComplex ∘ₗ LinearMap.liftBaseChange T (Algebra.Extension.Cotangent.map (Q.toComp P).toExtensionHom) - Algebra.Generators.CotangentSpace.map_toComp_injective 📋 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 σ) : Function.Injective ⇑(LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom)) - Algebra.Generators.CotangentSpace.exact 📋 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 σ) : Function.Exact ⇑(LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom)) ⇑(Algebra.Extension.CotangentSpace.map (Q.ofComp P).toExtensionHom) - Algebra.Generators.CotangentSpace.fst_compEquiv 📋 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 σ) : LinearMap.fst T Q.toExtension.CotangentSpace (TensorProduct S T P.toExtension.CotangentSpace) ∘ₗ ↑(Algebra.Generators.CotangentSpace.compEquiv Q P) = Algebra.Extension.CotangentSpace.map (Q.ofComp P).toExtensionHom - Algebra.Generators.H1Cotangent.δ_eq 📋 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.toExtension.H1Cotangent) (y : (Q.comp P).toExtension.Cotangent) (hy : (Algebra.Extension.Cotangent.map (Q.ofComp P).toExtensionHom) y = ↑x) (z : TensorProduct S T P.toExtension.CotangentSpace) (hz : (LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom)) z = (Q.comp P).toExtension.cotangentComplex y) : (Algebra.Generators.H1Cotangent.δ Q P) x = (LinearMap.baseChange T P.toExtension.toKaehler) z - Algebra.Generators.CotangentSpace.fst_compEquiv_apply 📋 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).toExtension.CotangentSpace) : ((Algebra.Generators.CotangentSpace.compEquiv Q P) x).1 = (Algebra.Extension.CotangentSpace.map (Q.ofComp P).toExtensionHom) 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.Generators.CotangentSpace.compEquiv_symm_inr 📋 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 σ) : ↑(Algebra.Generators.CotangentSpace.compEquiv Q P).symm ∘ₗ LinearMap.inr T Q.toExtension.CotangentSpace (TensorProduct S T P.toExtension.CotangentSpace) = LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom) - Algebra.Generators.CotangentSpace.compEquiv_symm_zero 📋 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 : TensorProduct S T P.toExtension.CotangentSpace) : (Algebra.Generators.CotangentSpace.compEquiv Q P).symm (0, x) = (LinearMap.liftBaseChange T (Algebra.Extension.CotangentSpace.map (Q.toComp P).toExtensionHom)) x - Algebra.PreSubmersivePresentation.toGenerators_comp 📋 Mathlib.RingTheory.Extension.Presentation.Submersive
{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 R T] [Algebra S T] [IsScalarTower R S T] (Q : Algebra.PreSubmersivePresentation S T ι' σ') (P : Algebra.PreSubmersivePresentation R S ι σ) : (Q.comp P).toGenerators = Q.comp P.toGenerators - Algebra.Generators.cotangentCompAwaySec 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent) : (Algebra.Generators.localizationAway T g).toExtension.Cotangent →ₗ[T] ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent - Algebra.Generators.cotangentCompAwaySec_apply 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent) : (Algebra.Generators.cotangentCompAwaySec g P x) (Algebra.Generators.cMulXSubOneCotangent T g) = x - 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.map_comp_cotangentCompAwaySec 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) : Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom ∘ₗ Algebra.Generators.cotangentCompAwaySec g P x = LinearMap.id - Algebra.Generators.cotangentCompLocalizationAwayEquiv 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent ≃ₗ[T] TensorProduct S T P.toExtension.Cotangent × (Algebra.Generators.localizationAway T g).toExtension.Cotangent - Algebra.Generators.liftBaseChange_injective_of_isLocalizationAway 📋 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 ι) : Function.Injective ⇑(LinearMap.liftBaseChange T (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).toComp P).toExtensionHom)) - Algebra.Generators.snd_comp_cotangentCompLocalizationAwayEquiv 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) : LinearMap.snd T (TensorProduct S T P.toExtension.Cotangent) (Algebra.Generators.localizationAway T g).toExtension.Cotangent ∘ₗ ↑(Algebra.Generators.cotangentCompLocalizationAwayEquiv g P hx) = Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom - Algebra.Generators.snd_cotangentCompLocalizationAwayEquiv 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) (a : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent) : ((Algebra.Generators.cotangentCompLocalizationAwayEquiv g P hx) a).2 = (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) a - Algebra.Generators.cotangentCompLocalizationAwayEquiv_symm_comp_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 ι) {x : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) : ↑(Algebra.Generators.cotangentCompLocalizationAwayEquiv g P hx).symm ∘ₗ LinearMap.inl T (TensorProduct S T P.toExtension.Cotangent) (Algebra.Generators.localizationAway T g).toExtension.Cotangent = LinearMap.liftBaseChange T (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).toComp P).toExtensionHom) - Algebra.Generators.cotangentCompLocalizationAwayEquiv_symm_inr 📋 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 : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) : (Algebra.Generators.cotangentCompLocalizationAwayEquiv g P hx).symm (0, Algebra.Generators.cMulXSubOneCotangent T g) = x - Algebra.Generators.cotangentCompLocalizationAwayEquiv_symm_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 ι) {x : ((Algebra.Generators.localizationAway T g).comp P).toExtension.Cotangent} (hx : (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).ofComp P).toExtensionHom) x = Algebra.Generators.cMulXSubOneCotangent T g) (a : TensorProduct S T P.toExtension.Cotangent) : (Algebra.Generators.cotangentCompLocalizationAwayEquiv g P hx).symm (a, 0) = (LinearMap.liftBaseChange T (Algebra.Extension.Cotangent.map ((Algebra.Generators.localizationAway T g).toComp P).toExtensionHom)) a - 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.f 📋 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.toExtension.Cotangent → ↥P.toExtension.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.Extension.Cotangent.Basis.0.Algebra.Generators.PresentationOfFreeCotangent.Aux.hf 📋 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) (b✝ : P.toExtension.Cotangent) : Algebra.Extension.Cotangent.mk (Algebra.Generators.PresentationOfFreeCotangent.Aux.f✝ self b✝) = b✝ - Algebra.Generators.exists_presentation_of_basis_cotangent 📋 Mathlib.RingTheory.Extension.Cotangent.Basis
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] {α : Type u_4} (P : Algebra.Generators R S α) [Finite α] {σ : Type u_5} (b₀ : Module.Basis σ S P.toExtension.Cotangent) : ∃ P' b, P'.val ∘ Sum.inr = P.val ∧ ∀ (r : Unit ⊕ σ), b r = Algebra.Extension.Cotangent.mk ⟨P'.relation r, ⋯⟩ - Algebra.Generators.exists_presentation_of_free_cotangent 📋 Mathlib.RingTheory.Extension.Cotangent.Basis
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] {α : Type u_4} (P : Algebra.Generators R S α) [Finite α] [Module.Free S P.toExtension.Cotangent] : ∃ P' b, P'.val ∘ Sum.inr = P.val ∧ ∀ (r : Unit ⊕ Fin (Module.finrank S P.toExtension.Cotangent)), b r = Algebra.Extension.Cotangent.mk ⟨P'.relation r, ⋯⟩ - Algebra.Generators.cotangentRestrict_bijective_of_basis_kaehlerDifferential 📋 Mathlib.RingTheory.Extension.Cotangent.Free
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_3} {σ : Type u_4} {κ : Type u_5} (P : Algebra.Generators R S ι) {u : σ → ι} (hu : Function.Injective u) {v : κ → ι} (huv : IsCompl (Set.range v) (Set.range u)) (b : Module.Basis κ S Ω[S⁄R]) (hb : ∀ (k : κ), b k = (KaehlerDifferential.D R S) (P.val (v k))) [Subsingleton (Algebra.H1Cotangent R S)] : Function.Bijective ⇑(P.cotangentRestrict hu) - Algebra.Generators.disjoint_ker_toKaehler_of_linearIndependent 📋 Mathlib.RingTheory.Extension.Cotangent.Free
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_3} {κ : Type u_5} (P : Algebra.Generators R S ι) {v : κ → ι} (h : LinearIndependent S fun k => (KaehlerDifferential.D R S) (P.val (v k))) : Disjoint P.toExtension.toKaehler.ker (Submodule.span S (Set.range fun x => P.cotangentSpaceBasis (v x))) - Algebra.Generators.cotangentRestrict_bijective_of_isCompl 📋 Mathlib.RingTheory.Extension.Cotangent.Free
{R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {ι : Type u_3} {σ : Type u_4} {κ : Type u_5} (P : Algebra.Generators R S ι) {u : σ → ι} (hu : Function.Injective u) {v : κ → ι} (huv : IsCompl (Set.range v) (Set.range u)) (hm : Submodule.span S (Set.range fun i => (KaehlerDifferential.D R S) (P.val (v i))) = ⊤) (hk : Disjoint P.toExtension.toKaehler.ker (Submodule.span S (Set.range fun x => P.cotangentSpaceBasis (v x)))) [Subsingleton (Algebra.H1Cotangent R S)] : Function.Bijective ⇑(P.cotangentRestrict hu)
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 ce5dd8c