Module

Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.lean

Nyll.AlgebraicCurves.Geometry.Schemes.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
102 declarations indexed from sourceView source ↗

An isomorphism of invertible scheme modules obtained from compatible linear equivalences of chart sections.

Declarations

AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.op_hom_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem op_hom_eq {U V : Y.Opens} (i j : op U ⟶ op V) : i = j
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.map_endo
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem map_endo (M : Y.Modules) {U : Y.Opens} (i : op U ⟶ op U) (x : Γ(M, U)) :
    M.presheaf.map i x = x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.map_map
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem map_map (M : Y.Modules) {U V W : Y.Opens} (i : op U ⟶ op V) (j : op V ⟶ op W) (x : Γ(M,
    U)) :
    M.presheaf.map j (M.presheaf.map i x) = M.presheaf.map (i ≫ j) x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.map_irrel
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem map_irrel (M : Y.Modules) {U V : Y.Opens} (i j : op U ⟶ op V) (x : Γ(M, U)) :
    M.presheaf.map i x = M.presheaf.map j x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ring_map_endo
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem ring_map_endo {U : Y.Opens} (i : op U ⟶ op U) (x : Y.presheaf.obj (op U)) :
    Y.presheaf.map i x = x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ring_map_map
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem ring_map_map {U V W : Y.Opens} (i : op U ⟶ op V) (j : op V ⟶ op W) (x : Y.presheaf.obj
    (op U)) :
    Y.presheaf.map j (Y.presheaf.map i x) = Y.presheaf.map (i ≫ j) x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ring_map_irrel
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem ring_map_irrel {U V : Y.Opens} (i j : op U ⟶ op V) (x : Y.presheaf.obj (op U)) :
    Y.presheaf.map i x = Y.presheaf.map j x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.app_naturality
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem app_naturality {M N : Y.Modules} (φ : M ⟶ N) {U V : Y.Opens} (i : op U ⟶ op V) (x : Γ(M,
    U)) :
    φ.app V (M.presheaf.map i x) = N.presheaf.map i (φ.app U x)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.comp_app_apply
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem comp_app_apply {M N K : Y.Modules} (φ : M ⟶ N) (ψ : N ⟶ K) (U : Y.Opens) (x : Γ(M, U)) :
    (φ ≫ ψ).app U x = ψ.app U (φ.app U x)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec

A section of a restricted module, viewed over the image open in the original scheme.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
def rsec {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
    (x : Γ(M.restrict p, V)) : Γ(M, p ''ᵁ V)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.usec

A section over the image open, viewed in the restricted module.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
def usec {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
    (x : Γ(M, p ''ᵁ V)) : Γ(M.restrict p, V)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec_usec
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem rsec_usec (x : Γ(M, p ''ᵁ V)) : rsec p M V (usec p M V x) = x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.usec_rsec
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem usec_rsec (x : Γ(M.restrict p, V)) : usec p M V (rsec p M V x) = x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec_injective
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem rsec_injective : Function.Injective (rsec p M V)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec_add
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem rsec_add (x y : Γ(M.restrict p, V)) : rsec p M V (x + y) = rsec p M V x + rsec p M V y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.usec_add
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem usec_add (x y : Γ(M, p ''ᵁ V)) : usec p M V (x + y) = usec p M V x + usec p M V y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec_smul
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem rsec_smul (ρ : A.presheaf.obj (op V)) (z : Γ(M.restrict p, V)) :
    rsec p M V (ρ • z) = ((p.appIso V).inv ρ) • rsec p M V z
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.usec_smul
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem usec_smul (a : X.presheaf.obj (op (p ''ᵁ V))) (y : Γ(M, p ''ᵁ V)) :
    usec p M V (a • y) = ((p.appIso V).hom a) • usec p M V y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.rsec_map
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem rsec_map {V' : A.Opens} (i : op V ⟶ op V') (z : Γ(M.restrict p, V)) :
    rsec p M V' ((M.restrict p).presheaf.map i z) = M.presheaf.map (p.opensFunctor.map
      i.unop).op (rsec p M V z)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.usec_map
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
section RSec
variable {X A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] (M : X.Modules) (V : A.Opens)
theorem usec_map {V' : A.Opens} (i : op V ⟶ op V') (y : Γ(M, p ''ᵁ V)) :
    (M.restrict p).presheaf.map i (usec p M V y) = usec p M V' (M.presheaf.map
      (p.opensFunctor.map i.unop).op y)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.locallyTrivial_of_iso
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Generic
variable {Y : Scheme.{u}}
theorem locallyTrivial_of_iso {M N : Y.Modules} (e : M ≅ N) (hM : Scheme.Modules.IsInvertible M) :
    ∀ y : Y, ∃ (V : Y.Opens), y ∈ V ∧
      Nonempty ((Scheme.Modules.pullback V.ι).obj N ≅ SheafOfModules.unit
        V.toScheme.ringCatSheaf)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.tilde_map_app_toOpen
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section SpecGeneric
variable {R : CommRingCat.{u}}
theorem tilde_map_app_toOpen {M N : ModuleCat.{u} R} (f : M ⟶ N) (U : (Spec R).Opens) (m : M) :
    (tilde.map f).app U (tilde.toOpen M U m : Γ(tilde M, U)) = tilde.toOpen N U (f m)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.fromTildeΓ_app_top_toOpen
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section SpecGeneric
variable {R : CommRingCat.{u}}
theorem fromTildeΓ_app_top_toOpen (M : (Spec (.of R)).Modules)
    (m : (modulesSpecToSheaf.obj M).presheaf.obj (op ⊤)) :
    (Scheme.Modules.fromTildeΓ M).app ⊤
      (show Γ(tilde ((modulesSpecToSheaf.obj M).presheaf.obj (op ⊤)), ⊤) from tilde.toOpen _ ⊤ m) =
      (show Γ(M, ⊤) from m) := by
  have h := Scheme.Modules.toOpen_fromTildeΓ_app M ⊤
  have h' := ConcreteCategory.congr_hom h m
  refine h'.trans ?_
  exact map_endo M _ _
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.image_top
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
theorem image_top : hU.fromSpec ''ᵁ ⊤ = U
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ιd

The opposite open map identifying the affine chart with its image from Spec.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
abbrev ιd : op U ⟶ op (hU.fromSpec ''ᵁ ⊤)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ιu

The inverse opposite open map for the affine chart identification.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
abbrev ιu : op (hU.fromSpec ''ᵁ ⊤) ⟶ op U
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.appIso_inv_ΓSpecIso_inv
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
theorem appIso_inv_ΓSpecIso_inv (r : X.presheaf.obj (op U)) :
    (hU.fromSpec.appIso ⊤).inv ((Scheme.ΓSpecIso (X.presheaf.obj (op U))).inv r) =
      X.presheaf.map (ιd U hU) r
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.RL

The module restricted to the affine Spec model of the chart.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
abbrev RL : (Spec (X.presheaf.obj (op U))).Modules
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ΓR

The global sections module of the restriction to the affine Spec chart.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
abbrev ΓR : ModuleCat (X.presheaf.obj (op U))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ

Global sections on the affine chart, viewed over its image open.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
def toΓ : ΓR U hU L → Γ(L, hU.fromSpec ''ᵁ ⊤)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ofΓ

Sections over the image open, viewed as global sections of the affine chart.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
def ofΓ : Γ(L, hU.fromSpec ''ᵁ ⊤) → ΓR U hU L
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_ofΓ
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_ofΓ (x : Γ(L, hU.fromSpec ''ᵁ ⊤)) : toΓ U hU L (ofΓ U hU L x) = x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ofΓ_toΓ
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem ofΓ_toΓ (s : ΓR U hU L) : ofΓ U hU L (toΓ U hU L s) = s
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_add
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_add (s t : ΓR U hU L) : toΓ U hU L (s + t) = toΓ U hU L s + toΓ U hU L t
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ofΓ_add
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem ofΓ_add (s t : Γ(L, hU.fromSpec ''ᵁ ⊤)) : ofΓ U hU L (s + t) = ofΓ U hU L s + ofΓ U hU L
    t
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_injective
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_injective : Function.Injective (toΓ U hU L)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_eq
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_eq (s : ΓR U hU L) : (show Γ(RL U hU L, ⊤) from s) = toΓ U hU L s := rfl
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_smul
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_smul (r : X.presheaf.obj (op U)) (s : ΓR U hU L) :
    toΓ U hU L (r • s) = (X.presheaf.map (ιd U hU) r) • toΓ U hU L s
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ

The comparison from global sections on the Spec chart to sections on the original chart.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
def τ (s : ΓR U hU L) : Γ(L, U)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ'

The inverse comparison from original chart sections to global sections on the Spec chart.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
def τ' (m : Γ(L, U)) : ΓR U hU L
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.toΓ_τ'
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem toΓ_τ' (m : Γ(L, U)) : toΓ U hU L (τ' U hU L m) = L.presheaf.map (ιd U hU) m
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ_τ'
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ_τ' (m : Γ(L, U)) : τ U hU L (τ' U hU L m) = m
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ'_τ
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ'_τ (s : ΓR U hU L) : τ' U hU L (τ U hU L s) = s
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ_add
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ_add (s t : ΓR U hU L) : τ U hU L (s + t) = τ U hU L s + τ U hU L t
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ'_add
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ'_add (m n : Γ(L, U)) : τ' U hU L (m + n) = τ' U hU L m + τ' U hU L n
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ_smul
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ_smul (r : X.presheaf.obj (op U)) (s : ΓR U hU L) : τ U hU L (r • s) = r • τ U hU L s
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.τ'_smul
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Chart
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U)
variable (L : X.Modules)
theorem τ'_smul (r : X.presheaf.obj (op U)) (m : Γ(L, U)) : τ' U hU L (r • m) = r • τ' U hU L m
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.eL

The section equivalence transported to the global sections modules on the affine chart.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def eL : ΓR U hU L ≃ₗ[X.presheaf.obj (op U)] ΓR U hU L' where
  toFun s := τ' U hU L' (e (τ U hU L s))
  invFun s' := τ' U hU L (e.symm (τ U hU L' s'))
  map_add' s t := by rw [τ_add, map_add, τ'_add]
  map_smul' r s := by rw [τ_smul, LinearEquiv.map_smul, τ'_smul]; rfl
  left_inv s := by simp only [τ_τ', LinearEquiv.symm_apply_apply, τ'_τ]
  right_inv s' := by simp only [τ_τ', LinearEquiv.apply_symm_apply, τ'_τ]
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.eR

The corresponding isomorphism in the category of modules over the chart ring.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def eR : ΓR U hU L ≅ ΓR U hU L'
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.eR_hom_apply
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem eR_hom_apply (s : ΓR U hU L) : (eR U hU L L' e).hom s = τ' U hU L' (e (τ U hU L s))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isIso_fromTildeΓ
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
include hL in
theorem isIso_fromTildeΓ :
    IsIso (Scheme.Modules.fromTildeΓ (R := X.presheaf.obj (op U)) (RL U hU L))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ψiso

The chart module isomorphism induced by the given section equivalence.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def ψiso : RL U hU L ≅ RL U hU L'
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ψ

The morphism underlying the induced chart module isomorphism.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def ψ : RL U hU L ⟶ RL U hU L'
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isIso_ψ
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
instance isIso_ψ : IsIso (ψ U hU L L' hL hL' e)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ψ_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem ψ_eq : ψ U hU L L' hL hL' e =
    (haveI := isIso_fromTildeΓ U hU L hL
     inv (Scheme.Modules.fromTildeΓ (R := X.presheaf.obj (op U)) (RL U hU L)) ≫
      (tilde.functor (X.presheaf.obj (op U))).map (eR U hU L L' e).hom ≫
      Scheme.Modules.fromTildeΓ (R := X.presheaf.obj (op U)) (RL U hU L')) := rfl
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ψ_app_top_τ'
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section ChartHom
variable {X : Scheme.{u}} (U : X.Opens) (hU : IsAffineOpen U) (L L' : X.Modules)
  (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem ψ_app_top_τ' (m : Γ(L, U)) :
    (ψ U hU L L' hL hL' e).app ⊤ (usec hU.fromSpec L ⊤ (L.presheaf.map (ιd U hU) m)) =
      usec hU.fromSpec L' ⊤ (L'.presheaf.map (ιd U hU) (e m))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.image_comp_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem image_comp_eq {C A : Scheme.{u}} (g : C ⟶ A) (f : A ⟶ X) [IsOpenImmersion g]
    [IsOpenImmersion f]
    (U : C.Opens) : (g ≫ f) ''ᵁ U = f ''ᵁ (g ''ᵁ U)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.map_congr_hom
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem map_congr_hom {Y : Scheme.{u}} (M : Y.Modules) {U V : Y.Opens} (i j : op U ⟶ op V) (x y
    : Γ(M, U))
    (h : x = y) : M.presheaf.map i x = M.presheaf.map j y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.image_eq_of_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem image_eq_of_eq {A : Scheme.{u}} {p q : A ⟶ X} [IsOpenImmersion p] [IsOpenImmersion q] (h
    : p = q)
    (V : A.Opens) : p ''ᵁ V = q ''ᵁ V
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.opensRange_eq_of_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem opensRange_eq_of_eq {A : Scheme.{u}} {p q : A ⟶ X} [IsOpenImmersion p] [IsOpenImmersion
    q] (h : p = q) :
    p.opensRange = q.opensRange
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.restrict_app_apply
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem restrict_app_apply {A : Scheme.{u}} (p : A ⟶ X) [IsOpenImmersion p] {M N : X.Modules} (φ
    : M ⟶ N)
    (V : A.Opens) (x : Γ(M.restrict p, V)) :
    ((Scheme.Modules.restrictFunctor p).map φ).app V x = φ.app (p ''ᵁ V) x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.bijective_app_of_iso
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem bijective_app_of_iso {Y : Scheme.{u}} {M N : Y.Modules} (e : M ≅ N) (U : Y.Opens) :
    Function.Bijective (e.hom.app U)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isIso_fromTildeΓ_restrict
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section MoreGeneric
variable {X : Scheme.{u}}
theorem isIso_fromTildeΓ_restrict {A : CommRingCat.{u}} (f : Spec A ⟶ X) [IsOpenImmersion f] (L
    : X.Modules)
    (hL : Scheme.Modules.IsInvertible L) :
    IsIso (Scheme.Modules.fromTildeΓ (R := A) (show (Spec (.of A)).Modules from L.restrict f)) := by
  refine Scheme.Modules.isIso_fromTildeGamma_of_locallyTrivial _ ?_
  have h := locallyTrivial_of_iso ((Scheme.Modules.restrictFunctorIsoPullback f).app L).symm
    (hL.pullback f)
  exact h
AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ρ0
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
abbrev _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ρ0 : X.presheaf.obj
    (op U0) ⟶ X.presheaf.obj (op (U0 ⊓ U1))
AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ρ1
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
abbrev _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ρ1 : X.presheaf.obj
    (op U1) ⟶ X.presheaf.obj (op (U0 ⊓ U1))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.g0

The Spec morphism from the chart intersection to the first chart.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
abbrev g0 : Spec (X.presheaf.obj (op (U0 ⊓ U1))) ⟶ Spec (X.presheaf.obj (op U0))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.g1

The Spec morphism from the chart intersection to the second chart.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
abbrev g1 : Spec (X.presheaf.obj (op (U0 ⊓ U1))) ⟶ Spec (X.presheaf.obj (op U1))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.g0_f0
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
variable (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
theorem g0_f0 : g0 U0 U1 ≫ hU0.fromSpec = hU01.fromSpec
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.g1_f1
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
variable (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
theorem g1_f1 : g1 U0 U1 ≫ hU1.fromSpec = hU01.fromSpec
theorem

hg

L467 ↗
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.hg
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
variable (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
include hU01 in
theorem hg : g0 U0 U1 ≫ hU0.fromSpec = g1 U0 U1 ≫ hU1.fromSpec
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isOpenImmersion_g0
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
variable (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
include hU0 hU01 in
theorem isOpenImmersion_g0 : IsOpenImmersion (g0 U0 U1)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isOpenImmersion_g1
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Charts
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso
variable (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
include hU1 hU01 in
theorem isOpenImmersion_g1 : IsOpenImmersion (g1 U0 U1)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.cW

The opposite open map identifying the given open with its Spec image.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
abbrev cW : op W ⟶ op (hU.fromSpec ''ᵁ (g ''ᵁ ⊤))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.cW'

The inverse opposite open map for the Spec image identification.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
abbrev cW' : op (hU.fromSpec ''ᵁ (g ''ᵁ ⊤)) ⟶ op W
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ

The chart comparison on sections transported to the specified smaller open.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def Θ (x : Γ(L, W)) : Γ(L', W)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ_add
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem Θ_add (x y : Γ(L, W)) :
    Θ U W hU g hgW L L' hL hL' e (x + y) = Θ U W hU g hgW L L' hL hL' e x + Θ U W hU g hgW L L'
      hL hL' e y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ_smul
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem Θ_smul (a : X.presheaf.obj (op W)) (x : Γ(L, W)) :
    Θ U W hU g hgW L L' hL hL' e (a • x) = a • Θ U W hU g hgW L L' hL hL' e x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θₗ

The linear map on the smaller open induced by the chart comparison.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
def Θₗ : Γ(L, W) →ₗ[X.presheaf.obj (op W)] Γ(L', W) where
  toFun := Θ U W hU g hgW L L' hL hL' e
  map_add' := Θ_add U W hU g hgW L L' hL hL' e
  map_smul' := Θ_smul U W hU g hgW L L' hL hL' e
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θₗ_apply
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem Θₗ_apply (x : Γ(L, W)) : Θₗ U W hU g hgW L L' hL hL' e x = Θ U W hU g hgW L L' hL hL' e
    x
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ_res
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem Θ_res (m : Γ(L, U)) :
    Θ U W hU g hgW L L' hL hL' e (L.presheaf.map (homOfLE hWU).op m) = L'.presheaf.map (homOfLE
      hWU).op (e m)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.ψ_app_normal
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section OneChart
variable {X : Scheme.{u}} (U W : X.Opens) (hU : IsAffineOpen U) (hWU : W ≤ U)
  {B : Scheme.{u}} (g : B ⟶ Spec (X.presheaf.obj (op U))) [IsOpenImmersion g]
  (hgW : hU.fromSpec ''ᵁ (g ''ᵁ ⊤) = W)
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e : Γ(L, U) ≃ₗ[X.presheaf.obj (op U)] Γ(L', U))
theorem ψ_app_normal (t : Γ(L, hU.fromSpec ''ᵁ (g ''ᵁ ⊤)))
    (k : op (hU.fromSpec ''ᵁ (g ''ᵁ ⊤)) ⟶ op W) (k' : op W ⟶ op (hU.fromSpec ''ᵁ (g ''ᵁ ⊤))) :
    rsec hU.fromSpec L' (g ''ᵁ ⊤) ((ψ U hU L L' hL hL' e).app (g ''ᵁ ⊤) (usec hU.fromSpec L (g
      ''ᵁ ⊤) t)) =
      L'.presheaf.map k' (Θ U W hU g hgW L L' hL hL' e (L.presheaf.map k t))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.f0_g0_top
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
omit [IsOpenImmersion (g1 U0 U1)] in
include hU01 in
theorem f0_g0_top : hU0.fromSpec ''ᵁ ((g0 U0 U1) ''ᵁ ⊤) = U0 ⊓ U1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.f1_g1_top
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
omit [IsOpenImmersion (g0 U0 U1)] in
include hU01 in
theorem f1_g1_top : hU1.fromSpec ''ᵁ ((g1 U0 U1) ''ᵁ ⊤) = U0 ⊓ U1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ0

The comparison induced on the chart intersection from the first chart.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
abbrev Θ0
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ1

The comparison induced on the chart intersection from the second chart.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
abbrev Θ1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ0_eq
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
include he0 span0 in
omit [IsOpenImmersion (g1 U0 U1)] in
theorem Θ0_eq : Θ0 U0 U1 hU0 hU01 L L' hL hL' e0 = e01.toLinearMap
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.Θ1_eq
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
include he1 span1 in
omit [IsOpenImmersion (g0 U0 U1)] in
theorem Θ1_eq : Θ1 U0 U1 hU1 hU01 L L' hL hL' e1 = e01.toLinearMap
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.T0

The first chart comparison restricted to the common Spec model of the intersection.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
def T0 : L.restrict (g0 U0 U1 ≫ hU0.fromSpec) ⟶ L'.restrict (g0 U0 U1 ≫ hU0.fromSpec)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.T1

The second chart comparison transported to the same common Spec model of the intersection.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
def T1 : L.restrict (g0 U0 U1 ≫ hU0.fromSpec) ⟶ L'.restrict (g0 U0 U1 ≫ hU0.fromSpec)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.P_top
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
include hU01 in
omit [IsOpenImmersion (g1 U0 U1)] in
theorem P_top : (g0 U0 U1 ≫ hU0.fromSpec) ''ᵁ ⊤ = U0 ⊓ U1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.dd

The opposite open map from the common Spec image to the chart intersection.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
abbrev dd : op ((g0 U0 U1 ≫ hU0.fromSpec) ''ᵁ ⊤) ⟶ op (U0 ⊓ U1)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.dd'

The inverse opposite open map for the common Spec image identification.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
abbrev dd' : op (U0 ⊓ U1) ⟶ op ((g0 U0 U1 ≫ hU0.fromSpec) ''ᵁ ⊤)
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.T0_app_top
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
omit [IsOpenImmersion (g1 U0 U1)] in
theorem T0_app_top (t : Γ(L.restrict (g0 U0 U1 ≫ hU0.fromSpec), ⊤)) :
    rsec (g0 U0 U1 ≫ hU0.fromSpec) L' ⊤ ((T0 U0 U1 hU0 L L' hL hL' e0).app ⊤ t) =
      L'.presheaf.map (dd' U0 U1 hU0 hU01)
        (Θ0 U0 U1 hU0 hU01 L L' hL hL' e0 (L.presheaf.map (dd U0 U1 hU0 hU01)
          (rsec (g0 U0 U1 ≫ hU0.fromSpec) L ⊤ t)))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.T1_app_top
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
theorem T1_app_top (t : Γ(L.restrict (g0 U0 U1 ≫ hU0.fromSpec), ⊤)) :
    rsec (g0 U0 U1 ≫ hU0.fromSpec) L' ⊤ ((T1 U0 U1 hU0 hU1 hU01 L L' hL hL' e1).app ⊤ t) =
      L'.presheaf.map (dd' U0 U1 hU0 hU01)
        (Θ1 U0 U1 hU1 hU01 L L' hL hL' e1 (L.presheaf.map (dd U0 U1 hU0 hU01)
          (rsec (g0 U0 U1 ≫ hU0.fromSpec) L ⊤ t)))
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.T0_eq_T1
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Agreement
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
include he0 he1 span0 span1 in
theorem T0_eq_T1 : T0 U0 U1 hU0 L L' hL hL' e0 = T1 U0 U1 hU0 hU1 hU01 L L' hL hL' e1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.hcov
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Main
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
  (hsup : U0 ⊔ U1 = ⊤)
omit [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)] in
include hsup in
theorem hcov : hU0.fromSpec.opensRange ⊔ hU1.fromSpec.opensRange = ⊤
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.hov
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Main
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
  (hsup : U0 ⊔ U1 = ⊤)
omit [IsOpenImmersion (g1 U0 U1)] in
include hU01 in
theorem hov : hU0.fromSpec.opensRange ⊓ hU1.fromSpec.opensRange ≤ (g0 U0 U1 ≫
    hU0.fromSpec).opensRange
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.exists_φ
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Main
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
  (hsup : U0 ⊔ U1 = ⊤)
include hU01 he0 he1 span0 span1 hsup in
theorem exists_φ : ∃ φ : L ⟶ L', (Scheme.Modules.restrictFunctor hU0.fromSpec).map φ = ψ U0 hU0
    L L' hL hL' e0 ∧
    (Scheme.Modules.restrictFunctor hU1.fromSpec).map φ = ψ U1 hU1 L L' hL hL' e1
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.isIso_of_restrict
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Main
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
  (hsup : U0 ⊔ U1 = ⊤)
omit [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)] in
include hsup in
theorem isIso_of_restrict (φ : L ⟶ L') (h0 : (Scheme.Modules.restrictFunctor hU0.fromSpec).map φ
    = ψ U0 hU0 L L' hL hL' e0)
    (h1 : (Scheme.Modules.restrictFunctor hU1.fromSpec).map φ = ψ U1 hU1 L L' hL hL' e1) : IsIso
      φ
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.nonempty_iso
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open _root_.CategoryTheory
open _root_.CategoryTheory.Limits
open _root_.AlgebraicGeometry
open _root_.Opposite
open _root_.TopologicalSpace
open _root_.TensorProduct
open _root_.AlgebraicGeometry.Scheme.Modules
section Main
variable {X : Scheme.{u}} (U0 U1 : X.Opens)
  (hU0 : IsAffineOpen U0) (hU1 : IsAffineOpen U1) (hU01 : IsAffineOpen (U0 ⊓ U1))
  [IsOpenImmersion (g0 U0 U1)] [IsOpenImmersion (g1 U0 U1)]
  (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
  (e0 : Γ(L, U0) ≃ₗ[X.presheaf.obj (op U0)] Γ(L', U0))
  (e1 : Γ(L, U1) ≃ₗ[X.presheaf.obj (op U1)] Γ(L', U1))
  (e01 : Γ(L, U0 ⊓ U1) ≃ₗ[X.presheaf.obj (op (U0 ⊓ U1))] Γ(L', U0 ⊓ U1))
  (he0 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) =
    L'.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op (e0 m))
  (he1 : ∀ m, e01 (L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) =
    L'.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op (e1 m))
  (span0 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U0) => L.presheaf.map (homOfLE (inf_le_left : U0 ⊓ U1 ≤ U0)).op m) = ⊤)
  (span1 : Submodule.span (X.presheaf.obj (op (U0 ⊓ U1)))
    (Set.range fun m : Γ(L, U1) => L.presheaf.map (homOfLE (inf_le_right : U0 ⊓ U1 ≤ U1)).op m) = ⊤)
  (hsup : U0 ⊔ U1 = ⊤)
include hU0 hU1 hU01 hL hL' e0 e1 e01 he0 he1 span0 span1 hsup in
theorem nonempty_iso : Nonempty (L ≅ L')
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible.AlgebraicGeometry.Scheme.TwoAffineOpenCover.GlueIso.span_eq_top_of_baseChange
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
namespace AlgebraicGeometry
open _root_.AlgebraicGeometry
namespace Scheme
open _root_.AlgebraicGeometry.Scheme
namespace TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
namespace GlueIso
open _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
open _root_.AlgebraicGeometry.Scheme
open _root_.AlgebraicGeometry
open TensorProduct in
theorem span_eq_top_of_baseChange {A B : Type*} [CommRing A] [CommRing B] [Algebra A B] {M : Type*}
    [AddCommGroup M] [Module A M] {N : Type*} [AddCommGroup N] [Module B N]
    (r : M → N) (rbc : B ⊗[A] M ≃ₗ[B] N) (h : ∀ m, rbc (1 ⊗ₜ m) = r m) :
    Submodule.span B (Set.range r) = ⊤
AlgebraicGeometry.Scheme.TwoAffineOpenCover.nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits _root_.AlgebraicGeometry
    AlgebraicGeometry TensorProduct Opposite in
with_weak_namespace AlgebraicGeometry.Scheme.TwoAffineOpenCover
open GlueIso in
open _root_.AlgebraicCurves.Geometry.Schemes.Proofs in
open Scheme_TwoAffineOpenCover_nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible in
with_weak_namespace _root_.AlgebraicGeometry.Scheme.TwoAffineOpenCover
theorem nonempty_iso_of_sectionsOf_linearEquiv_of_isInvertible
    {R : Type u} [CommRing R] {X : Scheme.{u}} (𝒱 : X.TwoAffineOpenCover) (c : X ⟶ Spec (.of R))
    (L L' : X.Modules) (hL : Scheme.Modules.IsInvertible L) (hL' : Scheme.Modules.IsInvertible L')
    (e0 : (𝒱.sectionsOf c L).M0 ≃ₗ[(𝒱.cover c).A0] (𝒱.sectionsOf c L').M0)
    (e1 : (𝒱.sectionsOf c L).M1 ≃ₗ[(𝒱.cover c).A1] (𝒱.sectionsOf c L').M1)
    (e01 : (𝒱.sectionsOf c L).M01 ≃ₗ[(𝒱.cover c).A01] (𝒱.sectionsOf c L').M01)
    (he0 : ∀ m, e01 ((𝒱.sectionsOf c L).r0 m) = (𝒱.sectionsOf c L').r0 (e0 m))
    (he1 : ∀ m, e01 ((𝒱.sectionsOf c L).r1 m) = (𝒱.sectionsOf c L').r1 (e1 m)) :
    Nonempty (L ≅ L')