Module

CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq.lean

Nyll.AlgebraicCurves.Cohomology.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
5 declarations indexed from sourceView source ↗

Cech H1To H1 mk eq of cech H1To H1 pullback Along mk eq

Declarations

AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq.L1Aux.adicValuation_le_one_iff_mem
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
open AlgebraicCurve
namespace L1Aux
variable {K F F₁ : Type*} [Field K] [Field F] [Field F₁] [Algebra K F] [Algebra K F₁]
theorem adicValuation_le_one_iff_mem (v : Place K F) (f : F) :
    v.adicValuation f ≤ 1 ↔ f ∈ v.toValuationSubring
AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq.L1Aux.mem_restrictAlong_iff
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
open AlgebraicCurve
namespace L1Aux
variable {K F F₁ : Type*} [Field K] [Field F] [Field F₁] [Algebra K F] [Algebra K F₁]
theorem mem_restrictAlong_iff (φ : F →ₐ[K] F₁) (hφ : φ.toRingHom.IsIntegral) (w : Place K F₁) (f :
  F) :
    f ∈ (w.restrictAlong φ hφ).toValuationSubring ↔ φ f ∈ w.toValuationSubring
AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq.L1Aux.restrictAlong_id
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
open AlgebraicCurve
namespace L1Aux
variable {K F F₁ : Type*} [Field K] [Field F] [Field F₁] [Algebra K F] [Algebra K F₁]
theorem restrictAlong_id (hid : (AlgHom.id K F).toRingHom.IsIntegral) (v : Place K F) :
    v.restrictAlong (AlgHom.id K F) hid = v
AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq.L1Aux.restrictAlong_injective_of_surjective
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
open AlgebraicCurve
namespace L1Aux
variable {K F F₁ : Type*} [Field K] [Field F] [Field F₁] [Algebra K F] [Algebra K F₁]
theorem restrictAlong_injective_of_surjective (φ : F →ₐ[K] F₁) (hφ : φ.toRingHom.IsIntegral)
    (hsurj : Function.Surjective φ) : Function.Injective (fun w : Place K F₁ => w.restrictAlong φ
      hφ) := by
  intro w w' h
  apply Place.ext
  ext y
  obtain ⟨x, rfl⟩ := hsurj y
  rw [← mem_restrictAlong_iff φ hφ w x, ← mem_restrictAlong_iff φ hφ w' x]
  exact congrArg (fun v : Place K F => x ∈ v.toValuationSubring) h |>.to_iff
AlgebraicCurve.cechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
Source context 3 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.Proofs.CechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
open AlgebraicCurve
theorem _root_.AlgebraicCurve.cechH1ToH1_mk_eq_of_cechH1ToH1_pullbackAlong_mk_eq
    {K : Type*} {F F₁ : Type*} [Field K] [Field F] [Algebra K F] [Field F₁] [Algebra K F₁]
    (θ : F →ₐ[K] F₁) (hθ : θ.toRingHom.IsIntegral) (hbij : Function.Bijective θ)
    {S₀ S₁ : Set (Place K F)} (hS : S₀ ∪ S₁ = Set.univ)
    (a b : ↥(lSpaceOn (S₀ ∩ S₁) (0 : Divisor K F)))
    (h : cechH1ToH1 (preimage_restrictAlong_union_eq_univ θ hθ hS) 0
        (cechH1.pullbackAlong θ hθ S₀ S₁ (Submodule.Quotient.mk a)) =
      cechH1ToH1 (preimage_restrictAlong_union_eq_univ θ hθ hS) 0
        (cechH1.pullbackAlong θ hθ S₀ S₁ (Submodule.Quotient.mk b))) :
    cechH1ToH1 hS 0 (Submodule.Quotient.mk a) = cechH1ToH1 hS 0 (Submodule.Quotient.mk b)