Module

GenericTensorSplit.lean

Nyll.SchemeTheory.RingTheory.GenericTensorSplit
6 declarations indexed from sourceView source ↗

A split generic tensor in the original scalar-extension orientation

Mathlib's pushout cancellation identifies (K ⊗[R] S) ⊗[K] B with S ⊗[R] B as S-algebras, using the canonical S action on the right factor of K ⊗[R] S. A supplied splitting then gives an actual splitting into copies of S ⊗[R] K, with explicit formulas for both directions.

Imports4
  • Mathlib.Algebra.Algebra.Equiv
  • Mathlib.Algebra.Algebra.Pi
  • Mathlib.RingTheory.TensorProduct.Maps
  • Mathlib.RingTheory.IsTensorProduct
Imported by2

Declarations

SchemeTheory.genericTensorCancelRingEquiv

Cancel the actual K-base change, preserving its literal ring maps.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
def genericTensorCancelRingEquiv :
    ((K ⊗[R] S) ⊗[K] B) ≃+* (S ⊗[R] B)
SchemeTheory.genericTensorCancelRingEquiv_tmul

The cancellation comparison on a double pure tensor.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
theorem genericTensorCancelRingEquiv_tmul (k : K) (s : S) (b : B) :
    genericTensorCancelRingEquiv R K S B ((k ⊗ₜ[R] s) ⊗ₜ[K] b) =
      s ⊗ₜ[R] (k • b)
SchemeTheory.genericTensorCancelRingEquiv_symm_tmul

The inverse comparison retains both original factors.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
theorem genericTensorCancelRingEquiv_symm_tmul (s : S) (b : B) :
    (genericTensorCancelRingEquiv R K S B).symm (s ⊗ₜ[R] b) =
      ((1 : K) ⊗ₜ[R] s) ⊗ₜ[K] b
SchemeTheory.genericTensorSplitEquiv

Transport an actual splitting over the left generic fiber into the original scalar-extension orientation used by integral-closure descent.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
def genericTensorSplitEquiv (ι : Type v)
    (e : ((K ⊗[R] S) ⊗[K] B) ≃ₐ[K ⊗[R] S] (ι → K ⊗[R] S)) :
    (S ⊗[R] B) ≃ₐ[S] (ι → S ⊗[R] K)
SchemeTheory.genericTensorSplitEquiv_tmul

The transported forward map is the supplied splitting, followed by the literal commutation of each generic-fiber factor.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
theorem genericTensorSplitEquiv_tmul (ι : Type v)
    (e : ((K ⊗[R] S) ⊗[K] B) ≃ₐ[K ⊗[R] S] (ι → K ⊗[R] S))
    (s : S) (b : B) (i : ι) :
    genericTensorSplitEquiv R K S B ι e (s ⊗ₜ[R] b) i =
      Algebra.TensorProduct.comm R K S (e (((1 : K) ⊗ₜ[R] s) ⊗ₜ[K] b) i)
SchemeTheory.genericTensorSplitEquiv_symm_apply

The transported inverse applies the supplied inverse to the literal commuted coordinates, then applies the constructed cancellation map.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace SchemeTheory
open scoped TensorProduct
universe u v
variable (R K S B : Type u)
  [CommRing R] [CommRing K] [CommRing S] [CommRing B]
  [Algebra R K] [Algebra R S] [Algebra R B] [Algebra K B]
  [IsScalarTower R K B]
theorem genericTensorSplitEquiv_symm_apply (ι : Type v)
    (e : ((K ⊗[R] S) ⊗[K] B) ≃ₐ[K ⊗[R] S] (ι → K ⊗[R] S))
    (y : ι → S ⊗[R] K) :
    (genericTensorSplitEquiv R K S B ι e).symm y =
      genericTensorCancelRingEquiv R K S B
        (e.symm (fun i => Algebra.TensorProduct.comm R S K (y i))) := by
  rfl