Flat algebras and flat ring homomorphisms #
We define flat algebras and flat ring homomorphisms.
Main definitions #
Algebra.Flat
: anR
-algebraS
is flat if it is flat asR
-moduleRingHom.Flat
: a ring homomorphismf : R → S
is flat, if it makesS
into a flatR
-algebra
theorem
Algebra.Flat.out
{R : Type u}
{S : Type v}
[CommRing R]
[CommRing S]
[Algebra R S]
[self : Algebra.Flat R S]
:
Module.Flat R S
theorem
Algebra.Flat.comp
(R : Type u)
(S : Type v)
[CommRing R]
[CommRing S]
(T : Type w)
[CommRing T]
[Algebra R S]
[Algebra R T]
[Algebra S T]
[IsScalarTower R S T]
[Algebra.Flat R S]
[Algebra.Flat S T]
:
Algebra.Flat R T
If T
is a flat S
-algebra and S
is a flat R
-algebra,
then T
is a flat R
-algebra.
instance
Algebra.Flat.baseChange
(R : Type u)
(S : Type v)
[CommRing R]
[CommRing S]
(T : Type w)
[CommRing T]
[Algebra R S]
[Algebra R T]
[Algebra.Flat R S]
:
Algebra.Flat T (TensorProduct R T S)
If S
is a flat R
-algebra and T
is any R
-algebra,
then T ⊗[R] S
is a flat T
-algebra.
Equations
- ⋯ = ⋯
theorem
Algebra.Flat.isBaseChange
(R : Type u)
(S : Type v)
[CommRing R]
[CommRing S]
[Algebra R S]
(R' : Type w)
(S' : Type t)
[CommRing R']
[CommRing S']
[Algebra R R']
[Algebra S S']
[Algebra R' S']
[Algebra R S']
[IsScalarTower R R' S']
[IsScalarTower R S S']
[h : Algebra.IsPushout R S R' S']
[Algebra.Flat R R']
:
Algebra.Flat S S'
A base change of a flat algebra is flat.
A ring homomorphism f : R →+* S
is flat if S
is flat as an R
algebra.
- out : Algebra.Flat R S
Instances
theorem
RingHom.Flat.out
{R : Type u}
{S : Type v}
[CommRing R]
[CommRing S]
{f : R →+* S}
[self : f.Flat]
:
Algebra.Flat R S
The identity of a ring is flat.
Equations
- ⋯ = ⋯