Module

Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.lean

Nyll.AlgebraicCurves.Geometry.Sheaves.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
16 declarations indexed from sourceView source ↗

Scheme Modules Is Frame On exists is Frame On dual

Declarations

AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.presheaf_map_map
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
lemma presheaf_map_map (M : X.Modules) {A B C : X.Opens} (f : B ⟶ A) (g : C ⟶ B) (k : C ⟶ A) (x :
  Γ(M, A)) :
    M.presheaf.map g.op (M.presheaf.map f.op x) = M.presheaf.map k.op x
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.bij
Source context 12 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
include hp in
lemma bij {W : X.Opens} (hW : W ≤ V) : Function.Bijective fun g : Γ(X, W) => g • P.presheaf.map
  (homOfLE ((hW : _ ≤ V).trans hVU)).op p :=
  hp (hW.trans hVU) hW
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef

The coefficient of a local section in the specified frame.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
def coef {W : X.Opens} (hW : W ≤ V) (m : Γ(P, W)) : Γ(X, W)
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef_smul_pr
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coef_smul_pr {W : X.Opens} (hW : W ≤ V) (m : Γ(P, W)) : coef hp hVU hW m • P.presheaf.map
  (homOfLE ((hW : _ ≤ V).trans hVU)).op p = m
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef_eq_of_smul_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coef_eq_of_smul_eq {W : X.Opens} (hW : W ≤ V) {m : Γ(P, W)} {g : Γ(X, W)} (h : g •
  P.presheaf.map (homOfLE ((hW : _ ≤ V).trans hVU)).op p = m) :
    coef hp hVU hW m = g
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef_pr
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coef_pr {W : X.Opens} (hW : W ≤ V) : coef hp hVU hW (P.presheaf.map (homOfLE ((hW : _ ≤
  V).trans hVU)).op p) = 1
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef_add
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coef_add {W : X.Opens} (hW : W ≤ V) (m m' : Γ(P, W)) :
    coef hp hVU hW (m + m') = coef hp hVU hW m + coef hp hVU hW m'
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coef_smul
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coef_smul {W : X.Opens} (hW : W ≤ V) (r : Γ(X, W)) (m : Γ(P, W)) :
    coef hp hVU hW (r • m) = r * coef hp hVU hW m
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.map_coef
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma map_coef {W W' : X.Opens} (hW : W ≤ V) (i : W' ⟶ W) (m : Γ(P, W)) :
    X.presheaf.map i.op (coef hp hVU hW m) = coef hp hVU (i.le.trans hW) (P.presheaf.map i.op m)
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coefLin

The linear coefficient map with values in sections of the unit sheaf.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
def coefLin {W : X.Opens} (hW : W ≤ V) : Γ(P, W) →ₗ[Γ(X, W)] Γ(𝟙_ X.Modules, W) where
  toFun m := coef hp hVU hW m • Scheme.Modules.unitSection W
  map_add' m m' := by rw [coef_add, add_smul]
  map_smul' r m := by rw [coef_smul, mul_smul, RingHom.id_apply]
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coefLin_apply
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coefLin_apply {W : X.Opens} (hW : W ≤ V) (m : Γ(P, W)) :
    coefLin hp hVU hW m = coef hp hVU hW m • Scheme.Modules.unitSection W
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coefFamily

The natural family of coefficient maps on subopens.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
def coefFamily :
    PresheafOfModules.InternalHom.naturalFamilies ((Scheme.Modules.toPMod X).obj P)
      ((Scheme.Modules.toPMod X).obj (𝟙_ X.Modules)) (op V)
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.coefFamily_app
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma coefFamily_app {W : (X.Opens)ᵒᵖ} (f : op V ⟶ W) (m : Γ(P, W.unop)) :
    (coefFamily hp hVU).1 f m = coef hp hVU (f.unop.le : W.unop ≤ V) m •
      Scheme.Modules.unitSection W.unop
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.dualSection

The dual section corresponding to the natural family of coefficient maps.

Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
def dualSection : Γ(Scheme.Modules.dual P, V)
AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual.DualFrameAux.ihomEval_map_dualSection
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
noncomputable section
namespace DualFrameAux
variable {X : Scheme.{u}}
variable {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)} (hp : Scheme.Modules.IsFrameOn p V) (hVU :
  V ≤ U)
lemma ihomEval_map_dualSection {W : X.Opens} (hW : W ≤ V) (m : Γ(P, W)) :
    Scheme.Modules.ihomEval P (𝟙_ X.Modules) W m
        ((Scheme.Modules.dual P).presheaf.map (homOfLE hW).op (dualSection hp hVU)) =
      coef hp hVU hW m • Scheme.Modules.unitSection W
AlgebraicGeometry.Scheme.Modules.IsFrameOn.exists_isFrameOn_dual
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Sheaves.Proofs.Scheme_Modules_IsFrameOn_exists_isFrameOn_dual
universe u
open _root_.CategoryTheory
open _root_.CategoryTheory.MonoidalCategory
open _root_.AlgebraicGeometry
open _root_.Opposite
open DualFrameAux in
theorem _root_.AlgebraicGeometry.Scheme.Modules.IsFrameOn.exists_isFrameOn_dual
    {X : Scheme.{u}} {P : X.Modules} {U V : X.Opens} {p : Γ(P, U)}
    (hp : Scheme.Modules.IsFrameOn p V) (hVU : V ≤ U) :
    ∃ q : Γ(Scheme.Modules.dual P, V), Scheme.Modules.IsFrameOn q V ∧
      Scheme.Modules.ihomEval P (𝟙_ X.Modules) V (P.presheaf.map (homOfLE hVU).op p) q =
        Scheme.Modules.unitSection V