AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_finrank_H0_sectionsOf_baseChange_eq_and_subsingleton_H1_iff.CechFieldBCSketch.main
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_finrank_H0_sectionsOf_baseChange_eq_and_subsingleton_H1_iff
attribute [-simp] AlgebraicGeometry.tilde.functorCompPullbackSpecIso_app
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry TensorProduct
namespace CechFieldBCSketch
variable {k : Type u} [Field k] {k' : Type u} [Field k'] [Algebra k k']Lean source · statement
theorem main
{P0 P1 P01 : Type u} [AddCommGroup P0] [Module k P0] [AddCommGroup P1] [Module k P1]
[AddCommGroup P01] [Module k P01]
(r0 : P0 →ₗ[k] P01) (r1 : P1 →ₗ[k] P01)
{Q0 Q1 Q01 : Type u} [AddCommGroup Q0] [Module k' Q0] [AddCommGroup Q1] [Module k' Q1]
[AddCommGroup Q01] [Module k' Q01]
(s0 : Q0 →ₗ[k'] Q01) (s1 : Q1 →ₗ[k'] Q01)
(e0 : k' ⊗[k] P0 ≃ₗ[k'] Q0) (e1 : k' ⊗[k] P1 ≃ₗ[k'] Q1) (e01 : k' ⊗[k] P01 ≃ₗ[k'] Q01)
(h0 : ∀ x, e01 ((r0.baseChange k') x) = s0 (e0 x)) (h1 : ∀ x, e01 ((r1.baseChange k') x) =
s1 (e1 x)) :
Module.finrank k' (LinearMap.ker ((-s0).coprod s1)) = Module.finrank k (LinearMap.ker
((-r0).coprod r1)) ∧
(Subsingleton (Q01 ⧸ LinearMap.range ((-s0).coprod s1)) ↔ Subsingleton (P01 ⧸
LinearMap.range ((-r0).coprod r1)))