theorem
EtaleAlgebra.pi_single_mul
{ι : Type u_1}
[DecidableEq ι]
{F : ι → Type u_2}
[(i : ι) → CommMonoidWithZero (F i)]
(i : ι)
(a : F i)
(f : (j : ι) → F j)
:
theorem
EtaleAlgebra.pi_field_not_domain_of_two
{ι : Type u_1}
{F : ι → Type u_2}
[(i : ι) → Field (F i)]
[DecidableEq ι]
{i j : ι}
(hij : i ≠ j)
:
¬NoZeroDivisors ((k : ι) → F k)
theorem
EtaleAlgebra.ker_phi_eq_ker_piRestr
{K : Type u_1}
[Field K]
{ι : Type u_2}
[Fintype ι]
[DecidableEq ι]
{F : ι → Type u_3}
[(i : ι) → Field (F i)]
[(i : ι) → Algebra K (F i)]
{B : Type u_4}
[CommRing B]
[Algebra K B]
(φ : ((i : ι) → F i) →ₐ[K] B)
:
have T := {i : ι | ∃ f ∈ RingHom.ker φ, f i ≠ 0};
RingHom.ker φ = RingHom.ker (piRestr (Finset.univ \ T))
noncomputable def
EtaleAlgebra.algEquivOfSurjSameKer
{R : Type u_4}
{A : Type u_5}
{B : Type u_6}
{C : Type u_7}
[CommSemiring R]
[CommRing A]
[Algebra R A]
[CommRing B]
[Algebra R B]
[CommRing C]
[Algebra R C]
(f : A →ₐ[R] B)
(g : A →ₐ[R] C)
(hf : Function.Surjective ⇑f)
(hg : Function.Surjective ⇑g)
(hker : RingHom.ker f = RingHom.ker g)
:
Instances For
theorem
EtaleAlgebra.surj_algHom_pi_fields_isSubproduct
{K : Type u_1}
[Field K]
{ι : Type u_2}
[Fintype ι]
[DecidableEq ι]
{F : ι → Type u_3}
[(i : ι) → Field (F i)]
[(i : ι) → Algebra K (F i)]
{B : Type u_4}
[CommRing B]
[Algebra K B]
(φ : ((i : ι) → F i) →ₐ[K] B)
(hφ : Function.Surjective ⇑φ)
:
theorem
EtaleAlgebra.surjection_to_field_factors
{K : Type u_1}
[Field K]
{ι : Type u_2}
[Fintype ι]
[DecidableEq ι]
{F : ι → Type u_3}
[(i : ι) → Field (F i)]
[(i : ι) → Algebra K (F i)]
{E : Type u_4}
[Field E]
[Algebra K E]
(φ : ((i : ι) → F i) →ₐ[K] E)
(hφ : Function.Surjective ⇑φ)
:
theorem
EtaleAlgebra.etale_decomposition_unique
{K : Type u_1}
[Field K]
{ι : Type u_2}
[Fintype ι]
[DecidableEq ι]
{κ : Type u_3}
[Fintype κ]
[DecidableEq κ]
{F : ι → Type u_4}
[(i : ι) → Field (F i)]
[(i : ι) → Algebra K (F i)]
{G : κ → Type u_5}
[(j : κ) → Field (G j)]
[(j : κ) → Algebra K (G j)]
(e : ((i : ι) → F i) ≃ₐ[K] (j : κ) → G j)
:
@[implicit_reducible]
instance
EtaleAlgebra.baseChange.instModule
(A : Type u_1)
[CommRing A]
(M : Type u_2)
[AddCommGroup M]
[Module A M]
(B : Type u_3)
[CommRing B]
[Algebra A B]
:
Module B (baseChange A M B)