Documentation

TauCeti.RingTheory.Flat.EffectiveDescent

Effective faithfully flat descent for algebras #

Let S be an R-algebra. A descent datum on an S-algebra B relative to R → S is recorded as an S-algebra map θ : B → S ⊗[R] B (the coaction) which is a section of the multiplication map S ⊗[R] B → B and satisfies the coassociativity condition (id ⊗ θ) ∘ θ = (id ⊗ (1 ⊗ ·)) ∘ θ in S ⊗[R] (S ⊗[R] B).

The definitions of descent data and their morphisms, and the equivalence with classical gluing data below, allow commutative semirings R and S and a possibly noncommutative semiring B. The flatness and effectivity results assume rings.

The coaction formulation is equivalent to the classical isomorphism-plus-cocycle formulation TauCeti.Algebra.IsoDescentDatum: an isomorphism of S ⊗[R] S-algebras φ : B ⊗[R] S ≅ S ⊗[R] B with φ₁₃ = φ₂₃ ∘ φ₁₂ on B ⊗[R] S ⊗[R] S. The equivalence TauCeti.Algebra.DescentDatum.equivIsoDescentDatum is given by θ b = φ (b ⊗ 1) and φ (b ⊗ t) = θ b * (1 ⊗ t). The cocycle condition corresponds to coassociativity, while the counit equation (the normalisation of φ along the diagonal) is not imposed on φ: it follows from the cocycle condition and the invertibility of φ. For commutative B, B ⊗[R] S and S ⊗[R] B are the coordinate rings of the two pullbacks of Spec B along the projections Spec (S ⊗[R] S) → Spec S, so IsoDescentDatum is the usual scheme-theoretic descent datum on an affine scheme over Spec S, and the equivalence makes the results below available for it.

Forgetting the multiplication, a descent datum is in particular a coalgebra for the comonad S ⊗[R] - on S-modules (the module form of descent, behind Mathlib's comonadicExtendScalars); the algebra structure adds the requirement that the coaction be an S-algebra map.

Since Spec is an anti-equivalence between commutative R-algebras and affine schemes over Spec R, the results below are effective descent for affine schemes along a faithfully flat morphism Spec S → Spec R of affine schemes (the scheme-theoretic statements are in TauCeti.AlgebraicGeometry.Descent.Affine):

Morphisms of descent data (TauCeti.Algebra.DescentDatum.Hom, S-algebra maps intertwining the coactions) descend as well. Together with effectivity, this says that A ↦ baseChange R S A from R-algebras to algebras with descent data is fully faithful and essentially surjective when S is faithfully flat over R:

Forming the descended algebra commutes with arbitrary base change R → R':

The faithfully flat input is the exactness of the Amitsur sequence M → S ⊗[R] M ⇉ S ⊗[R] (S ⊗[R] M) for an arbitrary R-module M (Module.FaithfullyFlat.exact_mk_one_lTensor_sub_mk_one), which generalises Mathlib's Algebra.IsEffective.of_faithfullyFlat (the case M = R, after identifying S ⊗[R] R with S).

References #

Amitsur exactness. If S is a faithfully flat R-algebra, then for every R-module M the sequence M → S ⊗[R] M → S ⊗[R] (S ⊗[R] M), with maps m ↦ 1 ⊗ m and s ⊗ m ↦ s ⊗ (1 ⊗ m) - 1 ⊗ (s ⊗ m), is exact.

structure TauCeti.Algebra.DescentDatum (R : Type u_1) (S : Type u_2) (B : Type u_3) [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] :
Type (max u_2 u_3)

A descent datum on the S-algebra B relative to R → S, in coalgebra form: an S-algebra map coaction : B → S ⊗[R] B (where S acts on the left factor) which is a section of the multiplication map s ⊗ b ↦ s • b and is coassociative. In terms of the classical gluing isomorphism φ : B ⊗[R] S ≅ S ⊗[R] B one has coaction b = φ (b ⊗ 1); counit_coaction is the normalisation of φ and coassoc is the cocycle condition.

Instances For
    theorem TauCeti.Algebra.DescentDatum.ext {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {x y : DescentDatum R S B} (coaction : x.coaction = y.coaction) :
    x = y
    theorem TauCeti.Algebra.DescentDatum.ext_iff {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {x y : DescentDatum R S B} :

    The coaction of a descent datum is injective, being a section of the multiplication map.

    def TauCeti.Algebra.DescentDatum.descended {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) :

    The algebra descended from a descent datum: the R-subalgebra of elements b with coaction b = 1 ⊗ b.

    Instances For
      @[simp]
      theorem TauCeti.Algebra.DescentDatum.mem_descended_iff {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) {b : B} :
      noncomputable def TauCeti.Algebra.DescentDatum.baseChange (R : Type u_1) (S : Type u_2) [CommSemiring R] [CommSemiring S] [Algebra R S] (A : Type u_4) [Semiring A] [Algebra R A] :

      The canonical descent datum on S ⊗[R] A, with coaction s ⊗ a ↦ s ⊗ (1 ⊗ a).

      Instances For
        @[simp]
        theorem TauCeti.Algebra.DescentDatum.baseChange_coaction_tmul {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] [Algebra R S] {A : Type u_4} [Semiring A] [Algebra R A] (s : S) (a : A) :
        (baseChange R S A).coaction (s ⊗ₜ[R] a) = s ⊗ₜ[R] (1 ⊗ₜ[R] a)
        noncomputable def TauCeti.Algebra.DescentDatum.baseChangeEquiv {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) [Module.Flat R S] :

        Effectivity of flat descent for algebras. If S is flat over R, every descent datum on B is effective: the descended algebra base changes back to B, via s ⊗ a ↦ s • a.

        Instances For
          @[simp]
          theorem TauCeti.Algebra.DescentDatum.baseChangeEquiv_tmul {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) [Module.Flat R S] (s : S) (a : ↥D.descended) :
          D.baseChangeEquiv (s ⊗ₜ[R] a) = s • ↑a

          baseChangeEquiv is compatible with the descent data: the coaction of D sends s • a, for a in the descended algebra, to s ⊗ a. Equivalently, baseChangeEquiv carries the canonical descent datum s ⊗ a ↦ s ⊗ (1 ⊗ a) on S ⊗[R] D.descended to D.

          If S is faithfully flat over R, the canonical descent datum on S ⊗[R] A descends to the image of A, i.e. the elements of the form 1 ⊗ a.

          noncomputable def TauCeti.Algebra.DescentDatum.equivDescended {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) [Module.FaithfullyFlat R S] {A : Type u_4} [Ring A] [Algebra R A] (e : TensorProduct R S A ≃ₐ[S] B) (he : ∀ (a : A), e (1 ⊗ₜ[R] a) ∈ D.descended) :

          Uniqueness of descent. If S is faithfully flat over R, A is an R-algebra and e : S ⊗[R] A ≃ B is an S-algebra isomorphism carrying 1 ⊗ A into the descended algebra (equivalently, carrying the canonical descent datum on S ⊗[R] A to D), then a ↦ e (1 ⊗ a) is an isomorphism of A onto D.descended.

          Instances For
            @[simp]
            theorem TauCeti.Algebra.DescentDatum.coe_equivDescended_apply {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) [Module.FaithfullyFlat R S] {A : Type u_4} [Ring A] [Algebra R A] (e : TensorProduct R S A ≃ₐ[S] B) (he : ∀ (a : A), e (1 ⊗ₜ[R] a) ∈ D.descended) (a : A) :
            ↑((D.equivDescended e he) a) = e (1 ⊗ₜ[R] a)
            @[simp]
            theorem TauCeti.Algebra.DescentDatum.baseChangeEquiv_symm_coe {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) [Module.Flat R S] (a : ↥D.descended) :

            The effectivity comparison carries the right tensor inclusion to the inclusion of the descended subalgebra.

            If S is flat over R, the inclusion of the descended algebra exhibits B as its base change along R → S.

            Morphisms of descent data #

            structure TauCeti.Algebra.DescentDatum.Hom {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] (D : DescentDatum R S B) (D' : DescentDatum R S B') :
            Type (max u_3 u_4)

            A morphism of descent data from D on B to D' on B': an S-algebra map f : B → B' intertwining the coactions, θ' ∘ f = (id ⊗ f) ∘ θ.

            Instances For
              theorem TauCeti.Algebra.DescentDatum.Hom.ext {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {B' : Type u_4} {inst✝⁷ : Semiring B'} {inst✝⁸ : Algebra R B'} {inst✝⁹ : Algebra S B'} {inst✝¹⁰ : IsScalarTower R S B'} {D : DescentDatum R S B} {D' : DescentDatum R S B'} {x y : D.Hom D'} (toAlgHom : x.toAlgHom = y.toAlgHom) :
              x = y
              theorem TauCeti.Algebra.DescentDatum.Hom.ext_iff {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {B' : Type u_4} {inst✝⁷ : Semiring B'} {inst✝⁸ : Algebra R B'} {inst✝⁹ : Algebra S B'} {inst✝¹⁰ : IsScalarTower R S B'} {D : DescentDatum R S B} {D' : DescentDatum R S B'} {x y : D.Hom D'} :
              def TauCeti.Algebra.DescentDatum.Hom.id {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) :
              D.Hom D

              The identity morphism of a descent datum.

              Instances For
                @[simp]
                theorem TauCeti.Algebra.DescentDatum.Hom.id_toAlgHom {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) :
                def TauCeti.Algebra.DescentDatum.Hom.comp {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} {B'' : Type u_5} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] [Semiring B''] [Algebra R B''] [Algebra S B''] [IsScalarTower R S B''] {D : DescentDatum R S B} {D' : DescentDatum R S B'} {D'' : DescentDatum R S B''} (g : D'.Hom D'') (f : D.Hom D') :
                D.Hom D''

                The composition of morphisms of descent data.

                Instances For
                  @[simp]
                  theorem TauCeti.Algebra.DescentDatum.Hom.comp_toAlgHom {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} {B'' : Type u_5} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] [Semiring B''] [Algebra R B''] [Algebra S B''] [IsScalarTower R S B''] {D : DescentDatum R S B} {D' : DescentDatum R S B'} {D'' : DescentDatum R S B''} (g : D'.Hom D'') (f : D.Hom D') :
                  theorem TauCeti.Algebra.DescentDatum.Hom.mem_descended {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] {D : DescentDatum R S B} {D' : DescentDatum R S B'} (f : D.Hom D') {b : B} (hb : b ∈ D.descended) :

                  A morphism of descent data maps the descended algebra into the descended algebra.

                  def TauCeti.Algebra.DescentDatum.Hom.descend {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] {D : DescentDatum R S B} {D' : DescentDatum R S B'} (f : D.Hom D') :

                  The morphism of descended algebras induced by a morphism of descent data.

                  Instances For
                    @[simp]
                    theorem TauCeti.Algebra.DescentDatum.Hom.coe_descend_apply {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] {D : DescentDatum R S B} {D' : DescentDatum R S B'} (f : D.Hom D') (a : ↥D.descended) :
                    ↑(f.descend a) = f.toAlgHom ↑a
                    @[simp]
                    theorem TauCeti.Algebra.DescentDatum.Hom.descend_id {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {D : DescentDatum R S B} :
                    @[simp]
                    theorem TauCeti.Algebra.DescentDatum.Hom.descend_comp {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} {B'' : Type u_5} [Semiring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] [Semiring B''] [Algebra R B''] [Algebra S B''] [IsScalarTower R S B''] {D : DescentDatum R S B} {D' : DescentDatum R S B'} {D'' : DescentDatum R S B''} (g : D'.Hom D'') (f : D.Hom D') :
                    noncomputable def TauCeti.Algebra.DescentDatum.Hom.baseChange {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] [Algebra R S] {A : Type u_4} {A' : Type u_5} [Semiring A] [Algebra R A] [Semiring A'] [Algebra R A'] (f : A →ₐ[R] A') :

                    The morphism of canonical descent data S ⊗[R] A → S ⊗[R] A' induced by an R-algebra map A → A'.

                    Instances For
                      @[simp]
                      theorem TauCeti.Algebra.DescentDatum.Hom.baseChange_toAlgHom {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] [Algebra R S] {A : Type u_4} {A' : Type u_5} [Semiring A] [Algebra R A] [Semiring A'] [Algebra R A'] (f : A →ₐ[R] A') :
                      theorem TauCeti.Algebra.DescentDatum.Hom.toAlgHom_baseChangeEquiv {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Ring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] {D : DescentDatum R S B} {D' : DescentDatum R S B'} [Module.Flat R S] (f : D.Hom D') (x : TensorProduct R S ↥D.descended) :

                      Under the effectivity isomorphisms baseChangeEquiv, a morphism of descent data is the base change of the induced morphism of descended algebras.

                      noncomputable def TauCeti.Algebra.DescentDatum.homEquiv {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Ring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] [Module.Flat R S] (D : DescentDatum R S B) (D' : DescentDatum R S B') :
                      D.Hom D' ≃ (↥D.descended →ₐ[R] ↥D'.descended)

                      Descent of morphisms. If S is flat over R, morphisms of descent data correspond to morphisms of the descended algebras.

                      Instances For
                        @[simp]
                        theorem TauCeti.Algebra.DescentDatum.homEquiv_apply {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] {B' : Type u_4} [Ring B'] [Algebra R B'] [Algebra S B'] [IsScalarTower R S B'] [Module.Flat R S] (D : DescentDatum R S B) (D' : DescentDatum R S B') (f : D.Hom D') :
                        (D.homEquiv D') f = f.descend
                        noncomputable def TauCeti.Algebra.DescentDatum.baseChangeHomEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {A : Type u_4} {A' : Type u_5} [Ring A] [Algebra R A] [Ring A'] [Algebra R A'] [Module.FaithfullyFlat R S] :
                        (A →ₐ[R] A') ≃ (baseChange R S A).Hom (baseChange R S A')

                        Full faithfulness of base change. If S is faithfully flat over R, the R-algebra maps A → A' are exactly the morphisms between the canonical descent data on S ⊗[R] A and S ⊗[R] A', via f ↦ id ⊗ f.

                        Instances For
                          @[simp]
                          theorem TauCeti.Algebra.DescentDatum.baseChangeHomEquiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {A : Type u_4} {A' : Type u_5} [Ring A] [Algebra R A] [Ring A'] [Algebra R A'] [Module.FaithfullyFlat R S] (f : A →ₐ[R] A') :
                          theorem TauCeti.Algebra.DescentDatum.tmul_baseChangeHomEquiv_symm_apply {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {A : Type u_4} {A' : Type u_5} [Ring A] [Algebra R A] [Ring A'] [Algebra R A'] [Module.FaithfullyFlat R S] (h : (baseChange R S A).Hom (baseChange R S A')) (a : A) :

                          The R-algebra map descended from a morphism h of canonical descent data is characterised by 1 ⊗ (baseChangeHomEquiv.symm h a) = h (1 ⊗ a).

                          noncomputable def TauCeti.Algebra.DescentDatum.toBaseChangeDescended {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] [Module.Flat R S] (D : DescentDatum R S B) :
                          D.Hom (baseChange R S ↥D.descended)

                          The effectivity isomorphism baseChangeEquiv, inverted, as a morphism of descent data from D to the canonical descent datum on S ⊗[R] D.descended.

                          Instances For

                            Change of the base ring #

                            If S is faithfully flat over R, the equalizer D.descended → B ⇉ S ⊗[R] B stays an equalizer after tensoring with any R-module. Hence forming the descended algebra commutes with arbitrary base change R → R'.

                            If S is faithfully flat over R, the inclusion D.descended → B is universally injective: it stays injective after tensoring with any R-module M.

                            The descended algebra is a universal equalizer. If S is faithfully flat over R, then for every R-module M the sequence M ⊗ D.descended → M ⊗ B → M ⊗ (S ⊗ B), whose second map is m ⊗ b ↦ m ⊗ (θ b - 1 ⊗ b), is exact.

                            Comparison along a base change of descent data #

                            noncomputable def TauCeti.Algebra.DescentDatum.tensorDescendedEquiv {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) {R' : Type u_4} {S' : Type u_5} {B' : Type u_6} [CommRing R'] [CommRing S'] [Ring B'] [Algebra R R'] [Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [Algebra R' B'] [Algebra R B'] [IsScalarTower R R' B'] [Algebra S' B'] [IsScalarTower R' S' B'] {D' : DescentDatum R' S' B'} {φ : S →ₐ[R] S'} {ψ : B →ₐ[R] B'} (hθ : ∀ (b : B), D'.coaction (ψ b) = (TensorProduct.mapOfCompatibleSMul R' R R S' B' ∘ₗ TensorProduct.map φ.toLinearMap ψ.toLinearMap) (D.coaction b)) [Module.FaithfullyFlat R S] (hφ : IsBaseChange R' φ.toLinearMap) (hψ : IsBaseChange R' ψ.toLinearMap) :

                            Descent commutes with base change. Let S be faithfully flat over R, let R → R' be any ring map, and let D' be a descent datum on B' relative to R' → S'. Suppose that φ : S → S' and ψ : B → B' exhibit S' and B' as the base changes R' ⊗[R] S and R' ⊗[R] B, and that ψ intertwines the coactions, θ' ∘ ψ = (φ ⊗ ψ) ∘ θ. Then r ⊗ a ↦ r • ψ a is an isomorphism R' ⊗[R] D.descended ≃ D'.descended.

                            Instances For
                              @[simp]
                              theorem TauCeti.Algebra.DescentDatum.coe_tensorDescendedEquiv_tmul {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommRing R] [CommRing S] [Algebra R S] [Ring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) {R' : Type u_4} {S' : Type u_5} {B' : Type u_6} [CommRing R'] [CommRing S'] [Ring B'] [Algebra R R'] [Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [Algebra R' B'] [Algebra R B'] [IsScalarTower R R' B'] [Algebra S' B'] [IsScalarTower R' S' B'] {D' : DescentDatum R' S' B'} {φ : S →ₐ[R] S'} {ψ : B →ₐ[R] B'} (hθ : ∀ (b : B), D'.coaction (ψ b) = (TensorProduct.mapOfCompatibleSMul R' R R S' B' ∘ₗ TensorProduct.map φ.toLinearMap ψ.toLinearMap) (D.coaction b)) [Module.FaithfullyFlat R S] (hφ : IsBaseChange R' φ.toLinearMap) (hψ : IsBaseChange R' ψ.toLinearMap) (r : R') (a : ↥D.descended) :
                              ↑((D.tensorDescendedEquiv hθ hφ hψ) (r ⊗ₜ[R] a)) = r • ψ ↑a

                              The classical form of a descent datum #

                              structure TauCeti.Algebra.IsoDescentDatum (R : Type u_1) (S : Type u_2) (B : Type u_3) [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] :
                              Type (max u_2 u_3)

                              A descent datum on the S-algebra B relative to R → S, in the classical form of a gluing isomorphism between the two pullbacks of B to S ⊗[R] S: an isomorphism iso : B ⊗[R] S ≃ S ⊗[R] B of S ⊗[R] S-algebras satisfying the cocycle condition φ₁₃ = φ₂₃ ∘ φ₁₂ of S ⊗[R] S ⊗[R] S-algebra maps B ⊗[R] S ⊗[R] S → S ⊗[R] S ⊗[R] B. Linearity over S ⊗[R] S is recorded as linearity over the left copy of S (acting on B, respectively on the left factor) together with iso_one_tmul for the right copy. No normalisation of iso along the diagonal is imposed: it follows from the cocycle condition (see toDescentDatum).

                              Instances For
                                theorem TauCeti.Algebra.IsoDescentDatum.ext_iff {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {x y : IsoDescentDatum R S B} :
                                x = y ↔ x.iso = y.iso
                                theorem TauCeti.Algebra.IsoDescentDatum.ext {R : Type u_1} {S : Type u_2} {B : Type u_3} {inst✝ : CommSemiring R} {inst✝¹ : CommSemiring S} {inst✝² : Algebra R S} {inst✝³ : Semiring B} {inst✝⁴ : Algebra R B} {inst✝⁵ : Algebra S B} {inst✝⁶ : IsScalarTower R S B} {x y : IsoDescentDatum R S B} (iso : x.iso = y.iso) :
                                x = y
                                theorem TauCeti.Algebra.IsoDescentDatum.iso_tmul {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (E : IsoDescentDatum R S B) (b : B) (t : S) :
                                E.iso (b ⊗ₜ[R] t) = E.iso (b ⊗ₜ[R] 1) * 1 ⊗ₜ[R] (algebraMap S B) t

                                The gluing isomorphism is determined by its values on B ⊗ 1: by linearity for the right copy of S, iso (b ⊗ t) = iso (b ⊗ 1) * (1 ⊗ t).

                                noncomputable def TauCeti.Algebra.DescentDatum.toIsoDescentDatum {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) :

                                The classical form of a descent datum: the gluing isomorphism b ⊗ t ↦ coaction b * (1 ⊗ t).

                                Instances For
                                  @[simp]
                                  theorem TauCeti.Algebra.DescentDatum.toIsoDescentDatum_iso_tmul {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) (b : B) (t : S) :
                                  @[simp]
                                  theorem TauCeti.Algebra.DescentDatum.toIsoDescentDatum_iso_symm_tmul {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (D : DescentDatum R S B) (s : S) (b : B) :
                                  noncomputable def TauCeti.Algebra.IsoDescentDatum.toDescentDatum {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (E : IsoDescentDatum R S B) :

                                  The coaction form of a classical descent datum: coaction b = iso (b ⊗ 1).

                                  Instances For
                                    @[simp]
                                    theorem TauCeti.Algebra.IsoDescentDatum.toDescentDatum_coaction {R : Type u_1} {S : Type u_2} {B : Type u_3} [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] (E : IsoDescentDatum R S B) (b : B) :
                                    noncomputable def TauCeti.Algebra.DescentDatum.equivIsoDescentDatum (R : Type u_1) (S : Type u_2) (B : Type u_3) [CommSemiring R] [CommSemiring S] [Algebra R S] [Semiring B] [Algebra R B] [Algebra S B] [IsScalarTower R S B] :

                                    Descent data in coalgebra form and in the classical form of a gluing isomorphism with the cocycle condition are equivalent: coaction b = iso (b ⊗ 1) and iso (b ⊗ t) = coaction b * (1 ⊗ t).

                                    Instances For