Documentation

Project.Potions.GoodPotionIngredient

structure GoodPotionIngredient {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] (𝒜 : ιSubmodule R₀ A) [DecidableEq ι] [GradedAlgebra 𝒜] extends HomogeneousSubmonoid 𝒜 :
Instances For
    noncomputable instance GoodPotionIngredient.instMul {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] :
    Equations
    noncomputable instance GoodPotionIngredient.instSemigroup {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] :
    Equations
    @[simp]
    theorem GoodPotionIngredient.mul_toHomogeneousSubmonoid {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (x y : GoodPotionIngredient 𝒜) :
    (x * y).toHomogeneousSubmonoid = x.toHomogeneousSubmonoid * y.toHomogeneousSubmonoid
    noncomputable def GoodPotionIngredient.map {ι R₀ A B : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] [CommRing B] [Algebra R₀ B] {ℬ : ιSubmodule R₀ B} [GradedAlgebra ] (Φ : GradedRingHom 𝒜 ) (x : GoodPotionIngredient 𝒜) :
    Equations
    Instances For
      instance GoodPotionIngredient.isOpenImmersion {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (S T : GoodPotionIngredient 𝒜) :
      noncomputable instance GoodPotionIngredient.instAlgebraPotionHMul {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (S T : GoodPotionIngredient 𝒜) :
      Algebra S.Potion (S * T).Potion
      Equations
      • S.instAlgebraPotionHMul T = (S.potionToMul T.toHomogeneousSubmonoid).toAlgebra
      noncomputable instance GoodPotionIngredient.instAlgebra₃ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
      Algebra S.Potion (R * S * T).Potion
      Equations
      @[simp]
      theorem GoodPotionIngredient.instAlgebra₃_algebraMap_eq {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
      algebraMap S.Potion (R * S * T).Potion = (HomogeneousSubmonoid.potionEquiv ).toRingHom.comp (S.potionToMul (R.toHomogeneousSubmonoid * T.toHomogeneousSubmonoid))
      noncomputable def GoodPotionIngredient.mixingAux₀ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] {R S T : GoodPotionIngredient 𝒜} (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) :
      TensorProduct S.Potion (S * T).Potion (S * R).Potion ≃ₐ[S.Potion] TensorProduct S.Potion (Localization T'.genSubmonoid) (Localization R'.genSubmonoid)
      Equations
      Instances For
        noncomputable def GoodPotionIngredient.mixingAux₁ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] {R S T : GoodPotionIngredient 𝒜} (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) :
        TensorProduct S.Potion (Localization T'.genSubmonoid) (Localization R'.genSubmonoid) ≃ₐ[S.Potion] Localization (T'.genSubmonoid * R'.genSubmonoid)
        Equations
        Instances For
          noncomputable def GoodPotionIngredient.mixingAux₂ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] {R S T : GoodPotionIngredient 𝒜} (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) :
          Localization (T'.genSubmonoid * R'.genSubmonoid) ≃ₐ[S.Potion] Localization (T'.disjUnion R').genSubmonoid
          Equations
          Instances For
            noncomputable def GoodPotionIngredient.mixingAux₃ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] {R S T : GoodPotionIngredient 𝒜} (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) :
            Localization (T'.disjUnion R').genSubmonoid ≃ₐ[S.Potion] (S * (T * R)).Potion
            Equations
            Instances For
              noncomputable def GoodPotionIngredient.mixingAux₄ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
              (S * (T * R)).Potion ≃ₐ[S.Potion] (R * S * T).Potion
              Equations
              Instances For
                noncomputable def GoodPotionIngredient.mixing {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] {R S T : GoodPotionIngredient 𝒜} (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) :
                TensorProduct S.Potion (S * T).Potion (S * R).Potion ≃ₐ[S.Potion] (R * S * T).Potion
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem GoodPotionIngredient.mixing_left {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) (x : (S * T).Potion) :
                  (GoodPotionIngredient.mixing R' T') (x ⊗ₜ[S.Potion] 1) = (HomogeneousSubmonoid.potionEquiv ) (((S * T).potionToMul R.toHomogeneousSubmonoid) x)
                  theorem GoodPotionIngredient.mixing_right {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) (R' : S.PotionGen R.toHomogeneousSubmonoid) (T' : S.PotionGen T.toHomogeneousSubmonoid) (x : (S * R).Potion) :
                  (GoodPotionIngredient.mixing R' T') (1 ⊗ₜ[S.Potion] x) = (HomogeneousSubmonoid.potionEquiv ) (((S * R).potionToMul T.toHomogeneousSubmonoid) x)
                  noncomputable def GoodPotionIngredient.t'Aux₀ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
                  TensorProduct S.Potion (S * T).Potion (S * R).Potion ≃+* (R * S * T).Potion
                  Equations
                  Instances For
                    @[simp]
                    theorem GoodPotionIngredient.t'Aux₀_SR {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) (x : (S * R).Potion) :
                    (R.t'Aux₀ S T) (1 ⊗ₜ[S.Potion] x) = (HomogeneousSubmonoid.potionEquiv ) (((S * R).potionToMul T.toHomogeneousSubmonoid) x)
                    noncomputable def GoodPotionIngredient.t'Aux₁ {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
                    TensorProduct R.Potion (R * S).Potion (R * T).Potion ≃+* (R * S * T).Potion
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem GoodPotionIngredient.t'Aux₁_RS {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) (x : (R * S).Potion) :
                      (R.t'Aux₁ S T) (x ⊗ₜ[R.Potion] 1) = (HomogeneousSubmonoid.potionEquiv ) (((R * S).potionToMul T.toHomogeneousSubmonoid) x)
                      noncomputable def GoodPotionIngredient.t' {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
                      TensorProduct S.Potion (S * T).Potion (S * R).Potion ≃+* TensorProduct R.Potion (R * S).Potion (R * T).Potion
                      Equations
                      • R.t' S T = (R.t'Aux₀ S T).trans (R.t'Aux₁ S T).symm
                      Instances For
                        @[simp]
                        theorem GoodPotionIngredient.t'_apply_SR {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) (x : (S * R).Potion) :
                        (R.t' S T) (1 ⊗ₜ[S.Potion] x) = (HomogeneousSubmonoid.potionEquiv ) x ⊗ₜ[R.Potion] 1
                        theorem GoodPotionIngredient.t'_cocycle {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :
                        (T.t' R S).trans ((S.t' T R).trans (R.t' S T)) = RingEquiv.refl (TensorProduct R.Potion (R * S).Potion (R * T).Potion)
                        theorem GoodPotionIngredient.t'_fac {ι R₀ A : Type u} [AddCommGroup ι] [CommRing R₀] [CommRing A] [Algebra R₀ A] {𝒜 : ιSubmodule R₀ A} [DecidableEq ι] [GradedAlgebra 𝒜] (R S T : GoodPotionIngredient 𝒜) :