module Cat.Instances.Sheaves.Exponentials where
Exponentials of sheavesπ
In this module we will show that the sheaves, for a coverage are an exponential ideal in This means that, if is a and is any presheaf at all, then the exponential object is also a The proof will rely crucially on the closure properties of sites. For this proof, keep in that the exponential is constructed1 to have sections
is-sheaf-exponential : β {β βs} {C : Precategory β β} (J : Coverage C βs) (A B : Functor (C ^op) (Sets β)) β is-sheaf J B β is-sheaf J (PSh[_,_] {C = C} A B) is-sheaf-exponential {C = C} J A B bshf = from-is-sheafβ Ξ» c β done where open Cat C module bshf = sat bshf psh = PSh[_,_] {C = C} A B
The first thing weβll do is show that is Let be a sieve of and be sections at which are equal, i.e.Β such that, for we have, for all maps and we have This condition is a bit of a mouthful, but all weβve done is unfold the definition of equality in
What we must show, however, is that for a totally arbitrary and But, since this is an equality in and is a it suffices to choose a sieve of and to show this equality i.e.Β to show for any Note that, by naturality, these are equal to resp. We can then choose which lets us apply our equality (since means This concludes the proof that is
abstract sep : β {U} {c : J .covers U} β is-separatedβ psh (J .cover c) sep {c = c} {x} {y} loc = ext Ξ» V f z β bshf.separate (pull f (inc c)) Ξ» g hg β B βͺ g β« x .Ξ· V (f , z) β‘Λβ¨ x .is-natural _ _ _ $β _ β©β‘Λ x .Ξ· _ (f β g , A βͺ g β« z) β‘β¨ ap (x .Ξ· _) (Ξ£-pathp (intror refl) refl) β©β‘ x .Ξ· _ ((f β g) β id , A βͺ g β« z) β‘β¨ loc (f β g) hg Ξ·β _ $β _ β©β‘ y .Ξ· _ ((f β g) β id , A βͺ g β« z) β‘Λβ¨ ap (y .Ξ· _) (Ξ£-pathp (intror refl) refl) β©β‘Λ y .Ξ· _ (f β g , A βͺ g β« z) β‘β¨ y .is-natural _ _ _ $β _ β©β‘ B βͺ g β« y .Ξ· V (f , z) β
The proof of separatedness demonstrates the general schema for shuffling between local equality of natural transformations and local equality of their components, by passing to a pullback. The rest of the proof essentially follows from similar calculations.
This will also be the strategy to show that admits sections! To put together a section for a patch for a sieve it suffices to do so at each component; so weβll start by showing that descends to a patch for on for any as long as weβre given Each part of is given by evaluating the corresponding part of
module _ {U} {c : J .covers U} (p : Patch psh (J .cover c)) where p' : β {V} (e : A Κ» V) (f : Hom V U) β Patch B (pullback f (J .cover c)) p' e f .part g hg = p .part (f β g) hg .Ξ· _ (id , A βͺ g β« e) p' e f .patch g hg h hh = B βͺ h β« p .part (f β g) _ .Ξ· _ (id , A βͺ g β« e) β‘Λβ¨ p .part (f β g) hg .is-natural _ _ _ $β (id , A βͺ g β« e) β©β‘Λ p .part (f β g) _ .Ξ· _ (id β h , A βͺ h β« (A βͺ g β« e)) β‘β¨ ap (Ξ» it β p .part (f β g) hg .Ξ· _ (it , A βͺ h β« (A βͺ g β« e))) id-comm-sym β©β‘ p .part (f β g) _ .Ξ· _ (h β id , A βͺ h β« (A βͺ g β« e)) β‘β¨ p .patch (f β g) hg h (subst (_β J .cover c) (assoc _ _ _) hh) Ξ·β _ $β (id , _) β©β‘ p .part ((f β g) β h) _ .Ξ· _ (id , A βͺ h β« (A βͺ g β« e)) β‘β¨ app p (sym (assoc f g h)) Ξ·β _ $β _ β©β‘ p .part (f β g β h) _ .Ξ· _ (id , A βͺ h β« (A βͺ g β« e)) β‘β¨ ap (Ξ» e β p .part (f β g β h) hh .Ξ· _ (id , e)) (sym (A .F-β _ _ # _)) β©β‘ p .part (f β g β h) _ .Ξ· _ (id , A βͺ g β h β« e) β
Then, since is a for the component at we can glue together the relevant By the same strategy by which we showed separatedness we can show naturality, and that the resulting natural transformation really does glue
s' : Section (PSh[_,_] {C = C} A B) p s' .whole .Ξ· x (f , e) = it .whole module s' where it : Section B (p' e f) it = bshf.split (pull f (inc c)) (p' e f) s' .whole .is-natural x y f = ext Ξ» g e β bshf.separate (pull (g β f) (inc c)) Ξ» h hh β let clo = subst (_β J .cover c) (sym (assoc _ _ _)) hh in B βͺ h β« (s'.it y (g β f) (A βͺ f β« e) .whole) β‘β¨ s'.it y (g β f) (A βͺ f β« e) .glues _ hh β©β‘ p .part ((g β f) β h) _ .Ξ· _ (id , A βͺ h β« (A βͺ f β« e)) β‘Λβ¨ (Ξ» i β p .part (assoc g f h i) (coe1βi (Ξ» i β assoc g f h i β J .cover c) i hh) .Ξ· _ (id , A .F-β h f i e)) β©β‘Λ p .part (g β f β h) _ .Ξ· _ (id , A βͺ f β h β« e) β‘Λβ¨ sym (B .F-β _ _ # _) β s'.it x g e .glues (f β h) clo β©β‘Λ B βͺ h β« (B βͺ f β« (s'.it x g e .whole)) β s' .glues f hf = ext Ξ» x g e β let clo = J .cover c .closed (J .cover c .closed hf g) id in s'.it x (f β g) e .whole β‘Λβ¨ B .F-id # _ β©β‘Λ (B βͺ id β« s'.it x (f β g) e .whole) β‘β¨ s'.it x (f β g) e .glues id clo β©β‘ p .part ((f β g) β id) _ .Ξ· x (id , A βͺ id β« e) β‘β¨ apβ (Ξ» i1 i2 β p .part i1 i2 .Ξ· x (id , A βͺ id β« e)) (idr (f β g)) prop! β©β‘ p .part (f β g) _ .Ξ· x (id , A βͺ id β« e) β‘β¨ sym (p .patch f hf g (J .cover c .closed hf g) Ξ·β _ $β (id , A βͺ id β« e)) β©β‘ p .part f hf .Ξ· x (g β id , A βͺ id β« e) β‘β¨ ap (p .part f hf .Ξ· x) (Ξ£-pathp (idr g) (A .F-id # _)) β©β‘ p .part f hf .Ξ· x (g , e) β done = from-is-separatedβ psh sep s'
If youβre worried about the dependence on the concrete construction, donβt be: this always holds as a natural isomorphism, by the yoneda lemma:
β©οΈ