Module

CoherentBaseChange_TwoTermComplex_one_tmul_ne_zero_of_forall_nonempty_H0_linearEquiv.lean

Nyll.AlgebraicCurves.Cohomology.Cech.CoherentBaseChange_TwoTermComplex_one_tmul_ne_zero_of_forall_nonempty_H0_linearEquiv
13 declarations indexed from sourceView source ↗

Coherent Base Change Two Term Complex one tmul ne zero of forall nonempty H0 linear Equiv

Declarations

AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.baseChange_rTensor
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Naturality
variable {A B : Type u} [CommRing A] [Algebra R A] [CommRing B] [Algebra R B]
  {C0 C1 : Type u} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
theorem baseChange_rTensor (d : C0 →ₗ[R] C1) (φ : A →ₗ[R] B) (x : A ⊗[R] C0) :
    (d.baseChange B) (φ.rTensor C0 x) = φ.rTensor C1 (d.baseChange A x)
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.lid_baseChange_apply
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Naturality
variable {A B : Type u} [CommRing A] [Algebra R A] [CommRing B] [Algebra R B]
  {C0 C1 : Type u} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
theorem lid_baseChange_apply (d : C0 →ₗ[R] C1) (x : R ⊗[R] C0) :
    TensorProduct.lid R C1 (d.baseChange R x) = d (TensorProduct.lid R C0 x)
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.opModule

The opposite-ring action induced by commutativity of the base ring.

Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
def opModule : Module Rᵐᵒᵖ M
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.op_smul_eq
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem op_smul_eq (r : R) (m : M) : (MulOpposite.op r) • m = r • m
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.isCentralScalar
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
instance isCentralScalar : IsCentralScalar R M
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.isScalarTower_op
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
instance isScalarTower_op : IsScalarTower R Rᵐᵒᵖ M
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.smulCommClass_op
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
instance smulCommClass_op : SMulCommClass R Rᵐᵒᵖ M
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.inr_mul_eq
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section SqZero
variable (R) (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem inr_mul_eq (m : M) (x : TrivSqZeroExt R M) :
    (TrivSqZeroExt.inr m : TrivSqZeroExt R M) * x = TrivSqZeroExt.inr (x.fst • m)
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.inr_smul_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Main
variable (G : CoherentBaseChange.TwoTermComplex.{u, u} R)
variable (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem inr_smul_eq (m : M) (k : TrivSqZeroExt R M ⊗[R] G.C0) :
    (TrivSqZeroExt.inr m : TrivSqZeroExt R M) • k =
      (TrivSqZeroExt.inr m : TrivSqZeroExt R M) ⊗ₜ[R]
        TensorProduct.lid R G.C0 ((TrivSqZeroExt.fstHom R R M).toLinearMap.rTensor G.C0 k)
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.inr_tmul_eq_zero
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Main
variable (G : CoherentBaseChange.TwoTermComplex.{u, u} R)
variable (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem inr_tmul_eq_zero (g₀ : G.C0) (h : ∀ m : M, (m ⊗ₜ[R] g₀ : M ⊗[R] G.C0) = 0) (m : M) (r : R) :
    ((TrivSqZeroExt.inr m : TrivSqZeroExt R M) ⊗ₜ[R] (r • g₀) : TrivSqZeroExt R M ⊗[R] G.C0) = 0
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.subsingleton_of_forall_tmul_eq_zero
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Main
variable (G : CoherentBaseChange.TwoTermComplex.{u, u} R)
variable (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem subsingleton_of_forall_tmul_eq_zero (g₀ : G.C0)
    (hker : ∀ x : G.C0, G.d x = 0 → ∃ r : R, x = r • g₀)
    (ψ : G.H0 (TrivSqZeroExt R M) ≃ₗ[TrivSqZeroExt R M] TrivSqZeroExt R M)
    (h : ∀ m : M, (m ⊗ₜ[R] g₀ : M ⊗[R] G.C0) = 0) : Subsingleton M
AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero.P2mTwoTermH0Unimodular.main
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
noncomputable section
namespace P2mTwoTermH0Unimodular
variable {R : Type u} [CommRing R]
section Main
variable (G : CoherentBaseChange.TwoTermComplex.{u, u} R)
variable (M : Type u) [AddCommGroup M] [Module R M]
attribute [local instance] opModule
theorem main (g₀ : G.C0)
    (hker : ∀ x : G.C0, G.d x = 0 → ∃ r : R, x = r • g₀)
    (hH0 : ∀ (C : Type u) [CommRing C] [Algebra R C], Nonempty (G.H0 C ≃ₗ[C] C))
    (C : Type u) [CommRing C] [Algebra R C] [Nontrivial C] :
    ((1 : C) ⊗ₜ[R] g₀ : C ⊗[R] G.C0) ≠ 0
CoherentBaseChange.TwoTermComplex.one_tmul_ne_zero_of_forall_nonempty_H0_linearEquiv
Source context 7 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Cech.Proofs.TwoTermOneTensorNonzero
universe u
open TensorProduct
attribute [local instance] P2mTwoTermH0Unimodular.isCentralScalar
attribute [local instance] P2mTwoTermH0Unimodular.isScalarTower_op
attribute [local instance] P2mTwoTermH0Unimodular.smulCommClass_op
theorem _root_.CoherentBaseChange.TwoTermComplex.one_tmul_ne_zero_of_forall_nonempty_H0_linearEquiv
    {R : Type u} [CommRing R] (G : CoherentBaseChange.TwoTermComplex.{u, u} R) (g₀ : G.C0)
    (hker : ∀ x : G.C0, G.d x = 0 → ∃ r : R, x = r • g₀)
    (hH0 : ∀ (C : Type u) [CommRing C] [Algebra R C], Nonempty (G.H0 C ≃ₗ[C] C))
    (C : Type u) [CommRing C] [Algebra R C] [Nontrivial C] :
    ((1 : C) ⊗ₜ[R] g₀ : C ⊗[R] G.C0) ≠ 0