OAI/AlgebraicGeometry/SurfaceCones/CoherentGlobalDual.lean
63 declarations, 0 contain sorry, 0 declared as axioms
Local linear Hom for sheaves of modules and coherence of duals on Noetherian schemes.
- abbrev
OAI.CoherentDual.LocalAddHomline 16 - abbrev
OAI.CoherentDual.localAppline 21 - def
OAI.CoherentDual.localSMulline 24 - instance
OAI.CoherentDual.localHomSMulline 40 - lemma
OAI.CoherentDual.local_smul_appline 44 - lemma
OAI.CoherentDual.local_add_appline 49 - lemma
OAI.CoherentDual.local_zero_appline 54 - lemma
OAI.CoherentDual.local_extline 57 - instance
OAI.CoherentDual.localHomModuleline 62 - def
OAI.CoherentDual.linearLocalHomline 71Source documentation
Local morphisms that are linear for every local ring of sections.
def linearLocalHom (X : C) : Submodule (R.obj (op X)) (LocalAddHom R M N X) where …
Mentions: OAI.CoherentDual.LocalAddHom
- def
OAI.CoherentDual.linearLocalSubfunctorline 86Source documentation
Linearity is preserved by restricting local natural transformations.
def linearLocalSubfunctor : Subfunctor (presheafHom M.presheaf N.presheaf) where …
- def
OAI.CoherentDual.homPresheafline 93Source documentation
The linear internal Hom presheaf, with its natural module structure.
def homPresheaf : PresheafOfModules (R ⋙ forget₂ CommRingCat RingCat) where …
- lemma
OAI.CoherentDual.local_naturalityline 124 - theorem
OAI.CoherentDual.linearLocalSubfunctor_isSheafline 131Source documentation
Pointwise local linearity is a sheaf-local condition.
theorem linearLocalSubfunctor_isSheaf {J : GrothendieckTopology C} (hN : Presheaf.IsSheaf J N.presheaf) : Presheaf.IsSheaf J (linearLocalSubfunctor (R := R) (M := M) (N := N)).toFunctor := by …Mentions: OAI.CoherentDual.linearLocalSubfunctor
- lemma
OAI.CoherentDual.homPresheaf_isSheafline 165 - def
OAI.CoherentDual.homSheafline 172Source documentation
The actual sheaf of modules of local linear maps.
def homSheaf {J : GrothendieckTopology C} (R : Sheaf J CommRingCat.{max u v w}) (M N : SheafOfModules.{max u v w z} ((sheafCompose J (forget₂ CommRingCat.{max u v w} RingCat.{max u v w})).obj R)) : SheafOfModules.{max u v w z} ((sheafCompose J (forget₂ CommRingCat.{max u v w} RingCat.{max u v w})).obj R) where … - def
OAI.CoherentDual.localHomEquivline 183Source documentation
Local linear transformations are exactly ordinary module morphisms on the slice site. This identifies the just-constructed sheaf with genuine internal Hom.
def localHomEquiv (X : C) : linearLocalHom (R := R) (M := M) (N := N) X ≃ …Mentions: OAI.CoherentDual.linearLocalHom
- def
OAI.CoherentDual.homSheafSectionsEquivline 202Source documentation
Sections of
homSheafare the actual morphisms of the restricted sheaves.def homSheafSectionsEquiv {J : GrothendieckTopology C} (R : Sheaf J CommRingCat.{max u v w}) (M N : SheafOfModules.{max u v w z} ((sheafCompose J (forget₂ CommRingCat.{max u v w} RingCat.{max u v w})).obj R)) (X : C) : (homSheaf R M N).val.obj (op X) ≃ (M.over X ⟶ N.over X) where …Mentions: OAI.CoherentDual.homSheaf
- def
OAI.CoherentDual.unitLocalMapline 226 - def
OAI.CoherentDual.unitLocalEquivline 250Source documentation
The expected free rank-one evaluation law, with the local ring action.
def unitLocalEquiv (X : C₀) : linearLocalHom (R := R₀) (M := PresheafOfModules.unit …Mentions: OAI.CoherentDual.linearLocalHom
- def
OAI.CoherentDual.unitHomPresheafIsoline 294Source documentation
Evaluation at one is an isomorphism of module presheaves, not just a bijection on global morphisms.
def unitHomPresheafIso : homPresheaf (R := R) (M := PresheafOfModules.unit …Mentions: OAI.CoherentDual.homPresheaf
- def
OAI.CoherentDual.unitHomSheafIsoline 315Source documentation
The genuine internal Hom from the structure sheaf is the target sheaf.
def unitHomSheafIso : homSheaf R₁ (SheafOfModules.unit _) N₁ ≅ N₁ := …Mentions: OAI.CoherentDual.homSheaf
- def
OAI.CoherentDual.precompLocalline 330Source documentation
Precomposition in the genuine module of local linear maps.
def precompLocal (f : M ⟶ M') (X : C) : linearLocalHom (R := R) (M := M') (N := N) X →ₗ[R.obj (op X)] …Mentions: OAI.CoherentDual.linearLocalHom
- def
OAI.CoherentDual.precompPresheafline 350 - def
OAI.CoherentDual.homSheafFunctorline 365Source documentation
Contravariant internal Hom into a fixed sheaf.
def homSheafFunctor : (SheafOfModules.{u} ((sheafCompose J (forget₂ CommRingCat RingCat)).obj R))ᵒᵖ ⥤ SheafOfModules.{u} ((sheafCompose J (forget₂ CommRingCat RingCat)).obj R) where … - def
OAI.CoherentDual.homSheafEvaluationIsoline 388Source documentation
Evaluation of internal Hom is the actual representable functor on the slice site. In particular no local presentation or exactness is postulated.
def homSheafEvaluationIso (X : C) : homSheafFunctor R N ⋙ SheafOfModules.forget _ ⋙ PresheafOfModules.evaluation _ (op X) ⋙ forget _ ≅ (SheafOfModules.overFunctor.{u,u,u,u} ((sheafCompose J (forget₂ CommRingCat RingCat)).obj R) X).op ⋙ yoneda.obj (N.over X) := …Mentions: OAI.CoherentDual.homSheafFunctor
- instance
OAI.CoherentDual.homSheafEvaluation_preservesLimitsline 400 - instance
OAI.CoherentDual.homSheafModuleEvaluation_preservesLimitsline 412 - instance
OAI.CoherentDual.homSheafFunctor_preservesLimitsline 423Source documentation
Local linear Hom is left exact, because morphisms out of colimits turn into limits after restriction to every slice site.
instance homSheafFunctor_preservesLimits : PreservesLimitsOfSize.{u,u} (homSheafFunctor R N) where …Mentions: OAI.CoherentDual.homSheafFunctor
- instance
OAI.CoherentDual.homSheafFunctor_additiveline 445 - def
OAI.CoherentDual.homCokernelIsoline 464Source documentation
Dualizing a genuine presentation gives the actual kernel. This is the kernel description used to prove coherence of the model dual, not a postulated exactness property of an abstract replacement dual.
def homCokernelIso (f : M ⟶ M') : homSheaf R (cokernel f) N ≅ kernel ((homSheafFunctor R N).map f.op) := …Mentions: OAI.CoherentDual.homSheaf, OAI.CoherentDual.homSheafFunctor
- def
OAI.CoherentDual.homFreeIsoline 487Source documentation
The genuine internal Hom out of a free sheaf is the product of the target sheaf, with no presentation/exactness assumed.
def homFreeIso : homSheaf R (SheafOfModules.free I) N ≅ ∏ᶜ (fun (_ : I) => N) := …
Mentions: OAI.CoherentDual.homSheaf
- def
OAI.CoherentDual.dualFiniteFreeIsoline 496Source documentation
The dual of a finite free sheaf really is the same finite free sheaf.
def dualFiniteFreeIso : homSheaf R (SheafOfModules.free I) (SheafOfModules.unit _) ≅ SheafOfModules.free I := by …Mentions: OAI.CoherentDual.homSheaf
- def
OAI.CoherentDual.kernelConjugateIsoline 515Source documentation
Transport a kernel through isomorphisms of its source and target.
def kernelConjugateIso (f : A ⟶ B) (eA : A ≅ A') (eB : B ≅ B') : kernel f ≅ kernel (eA.inv ≫ f ≫ eB.hom) := … - instance
OAI.CoherentLocality.presentationMap_finiteline 534 - lemma
OAI.CoherentLocality.finitePresentation_of_presentationline 551 - instance
OAI.CoherentLocality.bind_finiteline 568 - lemma
OAI.CoherentLocality.finitePresentation_of_coversTopline 584 - instance
OAI.CoherentRestriction.preservesMonomorphismsline 597 - instance
OAI.CoherentRestriction.additiveline 609 - instance
OAI.CoherentRestriction.preservesHomologyline 614 - instance
OAI.CoherentRestriction.preservesFiniteLimitsline 617 - lemma
OAI.CoherentExactAffine.localizations_comap_eq_mapline 625 - lemma
OAI.CoherentExactAffine.comap_injectiveline 636 - lemma
OAI.CoherentExactAffine.tilde_map_app_injectiveline 647 - instance
OAI.CoherentExactAffine.preservesMonomorphismsline 652 - instance
OAI.CoherentExactAffine.preservesHomologyline 660 - instance
OAI.CoherentExactAffine.preservesFiniteLimitsline 663 - lemma
OAI.CoherentGlobal.exists_presentation_tildeline 672Source documentation
A finite module on a Noetherian affine has a finite global presentation of its associated sheaf.
lemma exists_presentation_tilde {A : CommRingCat} [IsNoetherianRing A] (M : ModuleCat A) [Module.Finite A M] : ∃ P : (tilde M).Presentation, P.IsFinite := by … - lemma
OAI.CoherentGlobal.exists_presentation_kernel_tildeline 688 - lemma
OAI.CoherentGlobal.exists_presentation_kernelline 705 - lemma
OAI.CoherentGlobal.exists_presentation_kernel_freeline 715Source documentation
On a Noetherian affine, an actual kernel between finite free sheaves has a global finite presentation. This supplies the local input for duals.
lemma exists_presentation_kernel_free {A : CommRingCat} [IsNoetherianRing A] {I J : Type} [Finite I] [Finite J] (f : SheafOfModules.free (R := (Spec A).ringCatSheaf) I ⟶ SheafOfModules.free J) : … - lemma
OAI.CoherentGlobal.exists_presentation_isoline 740 - lemma
OAI.CoherentGlobal.exists_presentation_kernel_restrictline 756 - lemma
OAI.CoherentGlobal.exists_presentation_affine_overline 775 - lemma
OAI.CoherentGlobal.coherent_kernel_freeline 812Source documentation
An actual kernel of a map between finite free sheaves on a locally Noetherian scheme is a finite-presentation sheaf.
lemma coherent_kernel_free {X : Scheme} [IsLocallyNoetherian X] {I J : Type} [Finite I] [Finite J] (f : SheafOfModules.free (R := X.ringCatSheaf) I ⟶ SheafOfModules.free J) : … - lemma
OAI.CoherentLocality.finitePresentation_pushforwardline 842 - lemma
OAI.CoherentLocality.finitePresentation_pushforward_of_isLeftAdjointline 862 - lemma
OAI.CoherentDual.coherent_dual_of_global_presentationline 891Source documentation
The actual structure-sheaf dual of a globally finitely presented sheaf on a locally Noetherian scheme is coherent.
lemma coherent_dual_of_global_presentation : (homSheaf X.sheaf M (SheafOfModules.unit _)).IsFinitePresentation := by …Mentions: OAI.CoherentDual.homSheaf
- lemma
OAI.CoherentGlobal.opensDenseline 925 - lemma
OAI.CoherentGlobal.opensPreservesHypercoversline 929 - lemma
OAI.CoherentGlobal.opensOverPostContinuousline 936 - lemma
OAI.CoherentGlobal.finitePresentation_overEquiv_inverseline 946