Lift the original cover and map its actual generating families.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
universe u v₁ v₂ u₁ u₂
open CategoryTheory Limits
namespace SheafOfModules
variable {C : Type u₁} [Category.{v₁} C] {J : GrothendieckTopology C}
{R : Sheaf J RingCat.{u}} {D : Type u₂} [Category.{v₂} D]
{K : GrothendieckTopology D} {S : Sheaf K RingCat.{u}}
[∀ X, HasSheafify (J.over X) AddCommGrpCat.{u}]
[∀ X, (J.over X).WEqualsLocallyBijective AddCommGrpCat.{u}]
[∀ X, HasSheafify (K.over X) AddCommGrpCat.{u}]
[∀ X, (K.over X).WEqualsLocallyBijective AddCommGrpCat.{u}]
(G : D ⥤ C) [G.IsContinuous K J] [G.IsCocontinuous K J]
(φ : S ⟶ (G.sheafPushforwardContinuous RingCat.{u} K J).obj R)def LocalGeneratorsData.pushforward (η : (SheafOfModules.pushforward φ).obj (unit R) ≅ unit S)
[∀ X, (Over.post G).IsContinuous (K.over X) (J.over _)]
(h : ∀ (X : D) (Y : C) (f : G.obj X ⟶ Y),
PreservesColimitsOfSize.{u, u}
(SheafOfModules.pushforward.{u} (R := R.over Y) (F := Over.post (X := X) G ⋙ Over.map f)
(((Over.forget X).sheafPushforwardContinuous RingCat.{u} (K.over X) K).map φ)))
{M : SheafOfModules.{u} R} (q : M.LocalGeneratorsData) :
((SheafOfModules.pushforward φ).obj M).LocalGeneratorsData where
I := (X : D) × (i : q.I) × (G.obj X ⟶ q.X i)
X i := i.1
coversTop Y := by
refine K.superset_covering ?_ (G.cover_lift K J (q.coversTop (G.obj Y)))
intro Z g hg
obtain ⟨i, ⟨v⟩⟩ := hg
exact ⟨⟨Z, i, v⟩, ⟨𝟙 Z⟩⟩
generators i := by
let overS : SheafOfModules.{u} S ⥤ SheafOfModules.{u} (S.over i.1) :=
SheafOfModules.pushforward (𝟙 _)
let G' := Over.post (X := i.1) G ⋙ Over.map i.2.2
let ψ : S.over i.1 ⟶
(G'.sheafPushforwardContinuous RingCat.{u} (K.over i.1) (J.over (q.X i.2.1))).obj
(R.over (q.X i.2.1)) :=
((Over.forget i.1).sheafPushforwardContinuous RingCat.{u} (K.over i.1) K).map φ
let e : (SheafOfModules.pushforward ψ).obj (unit (R.over (q.X i.2.1))) ≅ unit (S.over i.1) :=
overS.mapIso η
have : PreservesColimitsOfSize.{u, u} (SheafOfModules.pushforward ψ) := h _ _ _
exact (q.generators i.2.1).map (SheafOfModules.pushforward ψ) e.symm