-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.tex
1625 lines (1550 loc) · 78.7 KB
/
project.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass{article}
\input{definitions/preamble}
\input{definitions/macros}
\input{definitions/letterfonts}
\usepackage[width=400pt]{geometry}
\DeclareMathOperator{\Open}{\mathbf{Open}}
\DeclareMathOperator{\opp}{opp}
\DeclareMathOperator{\Cont}{Cont}
\DeclareMathOperator{\Cov}{Cov}
\DeclareMathOperator{\colim}{colim}
\DeclareMathOperator{\id}{id}
\DeclareMathOperator{\Cond}{Cond}
\title{A Fluid Introduction to Condensed Mathematics}
\author{Wannes Malfait}
\date{}
\begin{document}
\maketitle
\newpage
\tableofcontents
\section{Introduction}
Most of the contents of this paper will be based on the lecture
notes by Peter Scholze, who developed the theory of condensed mathematics
together with Dustin Clausen (\cite{Sch2019LecturesCM}).
We first develop some necessary background from algebraic geometry
relating to sheaves. This theory is then used to define sheaf
cohomology on topological spaces. Finally, we give a short
introduction to condensed mathematics itself, giving the basic
definitions and exploring some examples. In the end we look
at cohomology in the condensed setting, and compare it to sheaf
cohomology. Although there are no original results, a lot of proofs
from the references have been written out in more detail, and
worked out examples illustrating different concepts have been
added throughout the whole paper.
\section{Sheaves}
A central role in this paper will be played by sheaves.
It therefore makes sense to study these objects more closely,
and attempt to gain some intuition before jumping straight into
the heart of the matter.
The first step will be to convince ourselves that sheaves
are interesting enough to study, and that they form a nice type
of category. As such, we will look at sheaf cohomology,
and compare it to singular cohomology. But first, we must
define what a sheaf is.
\subsection{On topological spaces}
Consider the following situation in algebraic geometry.
We have some (affine) algebraic variety $X$, with the Zariski Topology.
Associated to $X$ is an ideal $I$ of all the polynomials that vanish
on $X$. Then, the quotient ring $\mcO_X(X) = k[x_1,\ldots,x_n]/I$, is
the coordinate ring of $X$. The elements of $\mcO_X(X)$ are the regular
functions on $X$. For an open $U\subseteq X$ we can also consider the
regular functions on $U$, which we will denote as $\mcO_X(U)$.
This mapping between open subsets of $X$ and rings,
given by $\mcO_X$, is precisely a sheaf.
In this case, $\mcO_X$ is known as the \emph{structure sheaf}.
In general, a sheaf will give some global data that can be defined
locally.
\begin{definition}[Presheaves]
Let $X$ be a topological space.
A \emph{presheaf of sets} $\mcF$ on $X$ consists of two things:
\begin{enumerate}
\item For each open $U\subseteq X$ a set $\mcF(U)$.
These are known as the \emph{sections} of $\mcF$ over $U$.
\item For each inclusion $U\subseteq V$ a map
$\rho_{U,V}\colon \mcF(V) \to \mcF(U)$, such that $\rho_{U,U} = id_{\mcF(U)}$, and
for $U\subseteq V \subseteq W$ we have $\rho_{U,V}\circ \rho_{V,W} = \rho_{U, W}$.
We call the $\rho_{U,V}$ the \emph{restrictions}, and if $s\in \mcF(U)$,
we will often denote $\rho_{V,U}(s) = s|_V$.
\end{enumerate}
\end{definition}
\begin{remark}
If we write $\Open(X)$ for the category of open sets of $X$,
with morphisms given by the inclusion maps, then a presheaf is
precisely a functor $\mcF\colon \Open(X)^{\opp} \to \Set$.
\end{remark}
This only defines what a ``presheaf'' is.
The sheaf condition will ensure that the value of $\mcF(U)$ can be
constructed by defining it locally on elements of a cover $\{U_i\}_{i\in I}$ of $U$.
It is exactly this interaction between local definitions and global objects
that makes sheaves so useful.
\begin{definition}[Sheaves]
Let $X$ be a topological space, and $\mcF$ a presheaf of sets on $X$.
We say that $\mcF$ is a sheaf, if it satisfies the following additional properties
for any open $U\subseteq X$ and open cover $\{U_i\}_{i\in I}$ of $U$:
\begin{itemize}
\item (uniqueness/locality) If $s,t\in \mcF(U)$ are sections such that
$s|_{U_i} = t|_{U_i}$ for all $i\in I$, then $s=t$.
\item (gluing) If $\{s_i \in \mcF(U_i)\}_{i\in I}$ is
a collection of sections such that
\begin{equation*}
s_i|_{U_i \cap U_j} = s_j|_{U_i \cap U_j} \text { for all } i, j,
\end{equation*}
then there is a section $s\in \mcF(U)$ such that $s_i = s|_{U_i}$ for all $i \in I$.
\end{itemize}
In other words, if we have a bunch of sections
that agree on overlaps, then we can uniquely glue them together.
\end{definition}
\begin{remark}
\label{rem:cat_def_sheaf}
We can reformulate the properties in a more categorical manner.
Namely, for any open cover $\{U_i\}_{i\in I}$ of $U\subseteq X$,
the following diagram:
\begin{equation*}
\begin{tikzcd}[cramped]
\mcF(U) \rar
&\prod\limits_{i\in I} \mcF(U_i) \rar[shift left] \rar[shift right]
& \prod\limits_{i,j \in I} \mcF(U_i\cap U_j),
\end{tikzcd}
\end{equation*}
has to be an equalizer. This diagram makes sense in any target category
that has all limits. In terms of sets,
the first map is given by $s \mapsto (s|_{U_i})_{i\in I}$. The pair of
maps is given by the two possible restrictions, $(s_i)_{i\in I} \mapsto ((s_i|_{U_i \cap U_j})_{j\in I})_{i\in I}$
and $(s_j)_{j\in I} \mapsto ((s_j|_{U_i \cap U_j})_{i\in I})_{j\in J}$.
In this way, we can define sheaves on rings or abelian groups, or other
categories with all (set-indexed) limits.
For example, a presheaf of abelian groups on $X$, is a functor
$\mcF \colon \Open(X)^{\opp} \to \Ab$.
\end{remark}
In many cases, defining some structure on sheaves, will come down
to defining it on $\mcF(U)$ in a compatible way.
As an example, we can look at morphisms of sheaves.
\begin{definition}[Morphisms of sheaves]
Let $\mcF, \mcG$ be presheaves on a topological space $X$.
A \emph{morphism of presheaves} $\varphi \colon \mcF \to \mcG$ assigns to
each open $U\subset X$ a morphism $\varphi_U \colon \mcF(U) \to \mcG(U)$
compatible with the restriction maps, i.e. for $U\subseteq V \subseteq X$
the following diagram commutes:
\begin{equation*}
\begin{tikzcd}
\mcF(V) \rar["\varphi_V"] \dar["\rho^\mcF_{U,V}"]
& \mcG(V) \dar["\rho^\mcG_{U,V}"] \\
\mcF(U) \rar["\varphi_U"]
& \mcG(U)
\end{tikzcd}.
\end{equation*}
In other words, $\varphi$ is a natural transformation between $\mcF$ and $\mcG$.
Using a bit of abusive notation, the compatibility can be read as
$\varphi(s|_U) = \varphi(s)|_U$.
A \emph{morphism of sheaves} is a morphism of the underlying presheaves.
\end{definition}
For a topological space $X$, we now have (pre)sheaves and morphisms between them.
These form a category. We will write $\PSh(X)$ for the category of presheaves of
sets on $X$, and $\Sh(X)$ for the category of sheaves of sets on $X$.
In the same way, we write $\Ab(X), \Ring(X), \Vect(X),\dots $ for the category of
sheaves of abelian groups, rings, vector spaces, \dots on $X$.
\begin{remark}
We can ``recover'' the underlying space by taking $X = \{*\}$,
the one-point space. We have $\Sh(*) = \Set, \Ab(*) = \Ab, \dots$
\end{remark}
\subsubsection{Examples}
To solidify our understanding of sheaves, it will be beneficial to look
at some examples.
The simplest examples of sheaves are those were
$\mcF(U)$ is not just a set, but a set of functions, and the
restrictions correspond to actual restrictions.
\begin{example}
Let $Y$ be another topological space. Then we can define $\mcF(U) \defeq \Cont(U, Y)$
where $\Cont(U,Y) = \{f\colon U \to Y \mid f \text{ continuous }\}$.
The restrictions are defined as actual restrictions, and we get a presheaf. To see that
it is a sheaf, we need to verify the gluing condition.
Let $\{U_i\}$ be an open covering of $U\subseteq X$,
and $f_i \colon U_i \to Y$ is a continuous map for each $i\in I$,
such that $f_i|_{U_i \cap U_j} = f_j |_{U_i \cap U_j}$ for all $i,j\in I$.
We can now define a map $f\colon U \to Y$ via $f(u) = f_i(u)$ for any $i\in I$
such that $u\in U_i$. By assumption, this map is well-defined.
To see that it is continuous, for any $V\subseteq Y$ open,
we can write
\begin{equation*}
f\inv(V) = U \cap f\inv(V)=
\bigcup_{i\in I} (U_i \cap f\inv(V)) =
\bigcup_{i\in I}f_i\inv(V),
\end{equation*}
which is open since all the $f_i$ are continuous.
So we see that $\mcF$ is a sheaf.
In the case that $Y$ has the discrete topology,
we call $\mcF$ the \emph{constant sheaf with value Y}.
The sections of $\mcF$ over $U$ are the \emph{locally} constant functions,
i.e. at each point $x\in U$ we can find an open neighborhood $V$ of $x$,
such that $f$ is constant on $V$.
\end{example}
\begin{example}
Let $f\colon X\to Y$ be a continuous map, then we get a sheaf
on $X$ by the rule
\begin{equation*}
\Gamma(Y/X)(U) = \{s\colon U\to Y \mid f\circ s = 1_{U}\}.
\end{equation*}
The gluing construction is the same as in the previous example.
To see that this yields another section, note that for
any $u \in U$, $s(u) = s_i(u)$ for some $i\in I$, and hence
$f(s(u)) = f(s_i(u)) = u$.
We call $\Gamma(Y/X)$ the \emph{sheaf of sections of $f$}.
\end{example}
\begin{example}
As we remarked above, the structure sheaf $\mcO_X$ is also a sheaf,
where again, the restrictions are actual restrictions of functions.
To show that the gluing of regular functions is again regular,
requires some machinery from algebraic geometry, which falls outside
the scope of this paper.
\end{example}
As it turns out, it is possible to generalize
the definition of sheaves to categories which
also have the notion of a covering. We will
need this notion when discussing condensed sets.
\subsection{On a site}
The idea of a site was first introduced by
Alexander Grothendieck, and has proven to be
very useful in algebraic geometry.
For this subsection we largely follow
\cite[\href{https://stacks.math.columbia.edu/tag/00UZ}{Tag 00UZ}]{stacks-project}.
\subsubsection{Coverings and sites}
To define a site, we collect all the essential
properties that coverings of topological spaces have:
\begin{definition}[Coverings and Sites]
A \emph{site} is a small category $\mcC$ together
with a set $\Cov(\mcC)$ of \emph{coverings} of
$\mcC$, where the following axioms hold:
\footnote{We force $\Cov(\mcC)$ to be a set since we will take limits
over all coverings. It is possible to let $\Cov(\mcC)$ be a class,
and then show that it can be replaced with a set of coverings
that gives rise to the same category of sheaves.
See \cite[\href{https://stacks.math.columbia.edu/tag/00VI}{Tag 00VI}]{stacks-project}.}
\begin{enumerate}
\item If $V \to U$ is an isomorphism, then $\{V \to U\}\in \Cov(\mcC)$.
\item If $\{U_i \to U\}_{i\in I}$ is a covering, and for each $i\in I$,
$\{V_{ij} \to U_i\}_{j \in J_i}$ is a covering as well, then so is the
composition $\{V_{ij} \to U\}_{i\in I, j\in J_i}$.
\item If $\{U_i \to U\}_{i\in I}$ is a covering and $V \to U$ is a morphism
of $\mcC$, then the pullback $U_i\times_U V$ exists for all $i$
and $\{U_i\times_U V \to V\}_{i\in I}$ is a covering.
\end{enumerate}
\end{definition}
To make sense of this definition, let us look at the
canonical example.
\begin{example}
Let $X$ be a topological space, then $\Open(X)$ is a
site with coverings given by the open covers.
Let us verify that the axioms hold:
\begin{enumerate}
\item The only isomorphisms in $\Open(X)$ are the identity maps.
Since $\{U\}$ is an open cover of $U$ for any $U \in \Open(X)$,
the first axiom is satisfied.
\item If $U = \bigcup_{i\in I} U_i$ is an open cover of $U$,
and for each $i \in I$, $U_i = \bigcup_{j\in J_i} U_{ij}$ is an
open cover of $U_i$, then $U = \bigcup_{i\in I}\bigcup_{j \in J_i} U_{ij}$
is an open cover of $U$.
\item If $U = \bigcup_{i\in I} U_i$ is an open cover, and $V \subseteq U$, then
$V = \bigcup_{i \in I} V \cap U_i$ is an open cover of $V$.
\end{enumerate}
Here we used that $U\times_W V = U\cap V$ for $U, V \subseteq W$,
which follows from $S \subseteq V, S \subseteq U \implies S \subseteq V\cap U$.
\end{example}
The following example is still quite similar to the previous
example. The underlying site of a condensed set will be similar
to this site.
\begin{example}
Let $G$ be a group, then we can consider the category
of all $G$-sets, i.e. sets with a corresponding action
by the group $G$. Morphisms are given by maps $f \colon X \to Y$
satisfying $g\cdot f(x) = f(g\cdot x)$, i.e. $G$-equivariant
maps. To make this into a site\footnote{
Technically, this is not a site, since the category
of all $G$-sets is a proper class. The example is
simply meant to illustrate what covers could look like.
There is a way around this problem though. See
\cite[\href{https://stacks.math.columbia.edu/tag/00VK}{Example 00VK}]{stacks-project}.
}, we define the covers to be the
families of jointly surjective maps. In other words
$\{f_i \colon X_i \to X\}_{i\in I}$ is a cover if
$\bigcup_{i\in I}f_i(X_i) = X$. Let us verify the axioms:
\begin{enumerate}
\item If $f \colon X \to Y$ is an isomorphism, then
in particular it is surjective, so $\{f \colon X \to Y\}$ is a cover
of $Y$
\item If $\{f_i \colon X_i \to Y\}_{i\in I}$ is jointly surjective, and
for each $i\in I$ the family $\{f_{ij} \colon X_{ij} \to X_i\}_{j\in J_i}$ is jointly
surjective, then so is $\{f_i \circ f_{ij}\colon X_{ij} \to Y\}_{i\in I, j\in J_i}$.
\item Let $\{f_i \colon X_i \to Y\}_{i\in I}$ be a cover,
and $f\colon T \to Y$ a $G$-equivariant map. We claim that the pullback
$X_i \times_Y T$ exists and is given by
$S = \{(x,t)\in X_i \times T \mid f_i(x) = f(t)\}$.
This is a $G$-set, as if $f_i(x) = f(t)$, then
\begin{equation*}
f_i(g\cdot x) = g\cdot f_i(x) = g\cdot f(t) = f(g \cdot t).
\end{equation*}
Since $S$ is the pullback in $\Set$ and any $G$-equivariant map
is in particular a map of sets, the claim follows.
To see that the projection maps $\{X_i \times_Y T \to T\}$
are jointly surjective, take $t\in T$. There exists $i\in I$
such that $f(t) \in f_i(X_i)$, so $(x_i, t) \in X_i \times_Y T$
for some $x_i \in X_i$.
\end{enumerate}
\end{example}
In this new context, we have to reword the definitions
of presheaves and sheaves in a more abstract manner.
\begin{definition}[Presheaves and Sheaves on a Site]
Let $\mcC$ be a small category. A \emph{presheaf on $\mcC$} is
a functor $\mcF^{\opp} \colon \mcC \to \Set$.
If $\mcC$ is a site, then a \emph{sheaf on $\mcC$} is a
presheaf $\mcF$, such that for any covering $\{U_i \to U\}_{i\in I}$,
the following diagram is an equalizer:
\begin{equation*}
\begin{tikzcd}
\mcF(U) \rar["e"] &\prod\limits_{i\in I}\mcF(U_i)
\rar[shift left, "p_0^*"] \rar[shift right, "p_1^*"']
& \prod\limits_{i,j\in I}\mcF(U_i \times_U U_j)
\end{tikzcd}.
\end{equation*}
The map $e$ is given by $s \mapsto (s|_{U_i})_{i\in I}$.
For the second maps, take $i,j\in I$. Then we have projections
$p^{(i,j)}_0 \colon U_i \times_U U_j \to U_i$ and
$p^{(i,j)}_1 \colon U_i \times_U U_j \to U_j$.
These result in maps
$p^{(i,j), *}_0 \colon \mcF(U_i) \to \mcF(U_i \times_U U_j )$ and
$p^{(i,j), *}_1 \colon \mcF(U_j) \to \mcF(U_i \times_U U_j )$.
The maps $p_0^*$ and $p_1^*$ are
then given at component $i,j$ by mapping $(s_k)_{k\in I}$ to
$p^{(i,j), *}_0(s_i)$ and $p^{(i,j), *}_1(s_j)$ respectively.
\end{definition}
\subsubsection{Sheafification}
In a lot of constructions, the natural thing we do will end up
being a presheaf, but not a sheaf in general. So, we will need some way to turn
presheaves into sheaves.
\begin{prop}
\label{prop:sheafification}
The fully faithful inclusion
\begin{equation*}
\iota \colon \Sh(\mcC) \injto \PSh(\mcC),
\end{equation*}
admits a left adjoint $\mcF \to \mcF^\sharp$, ``sheafification''.
\end{prop}
We will give an explicit construction of $\mcF^\sharp$.
As it turns out, ``sheafification'' is actually a two-step process.
The first step is making the presheaf separated, and then turning
the separated presheaf into a sheaf.
\begin{definition}
We say that a presheaf $\mcF$ is \emph{separated} if
$\mcF(U) \to \prod\limits_{i\in I} \mcF(U_i)$ is injective
for any cover $\{U_i \to U\}_{i\in I} \in \Cov(\mcC)$.
\end{definition}
\begin{remark}
Since any equalizer is a monomorphism, it follows from the definition
of sheaves on a site that a sheaf is separated.
\end{remark}
\begin{example}
\label{exmp:bad_presheaves}
The presheaf $\mcF$ on a topological space $X$, which maps every
open to the same set $Y \neq \{*\}$, is not separated as
\begin{equation*}
Y = \mcF(\emptyset) \to \prod_{i \in \emptyset} = \{*\}
\end{equation*}
is not injective if $Y \neq \{*\}$.
On the other hand, the presheaf $\mcG$ on a topological space
$X$ which maps every open $U$ to the constant functions $U \to Y$
for some space $Y$, is separated but not a sheaf. After all,
if $U = \cup_i U_i$ is an open cover of $U$, and $f,g \in \mcG(U)$
are such that $f|_{U_i} = g|_{U_i}$ then $f = g$, since any $x\in U$
is contained in some $U_i$, and hence $f(x) = f|_{U_i}(x) = g|_{U_i}(x) = g(x)$.
Since there is only a single function $\emptyset \to Y$ there are no
problems with empty coverings. $\mcG$ fails to be a sheaf
in general, since if $U = U_1 \cup U_2$ with $U_1 \cap U_2 = \emptyset$
and $U_1 \neq \emptyset \neq U_2$, then we can't ``glue'' the functions
$f \colon U_1 \to Y, f(x) = y_1$ and $g\colon U_2 \to Y, f(x) =y_2$
together to a constant function on $U$ if $y_1 \neq y_2$.
\end{example}
We first have a few lemmas regarding limits of presheaves and sheaves.
\begin{lemma}
\label{lem:lims_colims_presheaves}
Let $\mcC$ be a site, then limits and
colimits exist in $\PSh(\mcC)$. Additionally, for any $U\in \mcC$,
the functor $\PSh(\mcC) \to \Set \colon \mcF \mapsto \mcF(U)$
commutes with all limits and colimits.
\end{lemma}
\begin{proof}
We only prove the case of limits. The colimit case is
analogous.
Let $\mcF \colon \mcI \to \PSh(\mcC)$ be a diagram.
We get a cone $(\mcF_{\lim}, p^i)$ by
moving to the images in $\Set$. In other words we take
$\mcF_{\lim} (U) = \lim_{i \in \mcI} \mcF_i(U)$,
and $p^i_U \colon \lim_{i\in \mcI}\mcF_i(U) \to \mcF_i(U)$.
If $U\to V$ is a morphism in $\mcC$, we get a unique map
$\mcF_{\lim}(V) \to \mcF_{\lim}(U)$, given by the fact
that $\mcF_{\lim}(U)$ is a limit, and $\mcF_{\lim}(V)$ is a cone
on all the $\mcF_i(U)$ by composing the maps $\mcF_{\lim}(V) \to \mcF_i(V)$ with
the maps $\mcF_i(V) \to \mcF_i(U)$. So we see that $\mcF_{\lim}$
is indeed a presheaf.
\begin{equation*}
\begin{tikzcd}[column sep=small]
&&\mcF_{\lim}(V) \dar[dashed] \ar[ddll, bend right, "p^i_V"'] \ar[ddrr, bend left, "p^{i'}_V"]\\
&&\mcF_{\lim}(U) \ar[dl, "p^i_U"'] \ar[dr, "p^{i'}_U"]\\
\mcF_i(V) \rar &\mcF_i(U) \ar[rr] &&\mcF_{i'}(U) &\mcF_{i'}(V) \lar
\end{tikzcd}
\end{equation*}
To see that the maps $p^i$ are morphisms of presheaves, we need
to verify that the following diagram commutes:
\begin{equation*}
\begin{tikzcd}
\mcF_{\lim}(V) \dar \rar["p^i_V"] & \mcF_i(V) \dar \\
\mcF_{\lim}(U) \rar["p^i_U"] & \mcF_i(U)
\end{tikzcd},
\end{equation*}
but that already follows from the previous diagram.
Let us now verify that $\mcF_{\lim}$ is actually a limit.
If $(\mcG, g^i)$ is another cone, then for each $U\in \mcC$,
we get a unique map $\mcG(U) \to \mcF_{\lim}(U)$, such that the
corresponding cone diagrams commute. It suffices to show that these
maps combine to form a map of presheaves.
Using the universal property of limits, this comes down to showing
\begin{equation*}
\begin{tikzcd}
\mcG(V)\rar \dar & \mcF_{\lim}(V) \dar \\
\mcG(U)\rar & \mcF_{\lim}(U)
\end{tikzcd}
\iff
\begin{tikzcd}
\mcG(V)\rar["g^i_V"] \dar & \mcF_{i}(V) \dar \\
\mcG(U)\rar["g^i_U"] & \mcF_{i}(U)
\end{tikzcd}
\forall i\in \mcI.
\end{equation*}
The commutativity of these last diagrams, is just saying that the
maps $g^i$ are presheaf morphisms, which is true by $(\mcG, g^i)$ being a cone.
\end{proof}
The big difference between sheaves and presheaves, is that we can glue
things together defined on a cover. The trick will be to force
the presheaf to behave as we want. Let us try and make this more precise.
So far we have just talked about coverings as objects. We can
also consider maps between coverings. If $\mcU = \{U_i \to U\}_{i\in I}$
and $\mcV = \{V_j \to V\}_{j \in J}$ are two coverings, a morphism
of coverings between $\mcU$ and $\mcV$ is
a morphism $U \to V$ and a map $\alpha \colon I \to J$
together with morphisms $U_i \to V_{\alpha(i)}$
such that
\begin{equation*}
\begin{tikzcd}
U_i \ar[d] \rar & V_{\alpha(i)} \dar\\
U \rar & V
\end{tikzcd}
\end{equation*}
commutes. If $U = V$ and $U \to V$ is the identity,
we call $\mcU$ a \emph{refinement} of $\mcV$.
For a $ U \in \mcC$ the coverings together with refinements
gives a category $\Cov(U)$.
This allows the following reformulation:
\begin{lemma}
\label{lem:presheaf_of_cover}
Let $\mcF$ be a presheaf on a site $\mcC$.
For $U \in \mcC$ and a cover $\mcU \in \Cov(U)$, define
$\mcF(\mcU)$ as the following equalizer:
\begin{equation*}
\mcF(\mcU) =
\{(s_i)_{i\in I} \in \prod\limits_{i\in I}\mcF(U_i)\mid
s_i|_{U_i \times_U U_j} = s_j|_{U_i \times_U U_j}\}.
\end{equation*}
If $\mcU \to \mcV$ is a morphism of coverings, there is an induced
map $\mcF(\mcV) \to \mcF(\mcU)$. This construction is functorial.
Furthermore, since $\{1_U\}$ is a cover
by the axioms of a site, this gives a map $\mcF(U) \cong \mcF(\{1_U\}) \to \mcF(\mcU)$.
The presheaf $\mcF$ is a sheaf if and only if the map
$\mcF(U) \to \mcF(\mcU)$ is bijective
for every cover $\mcU$.
\end{lemma}
\begin{proof}
Let $\mcU \to \mcV$ be a map of coverings. We have the following
commutative diagram:
\begin{equation*}
\begin{tikzcd}
& U_i \rar \dar &V_{\alpha(i)} \dar \\
U_i \times_U U_j \ar[ru] \ar[rd]
& U \rar & V
& V_{\alpha(i)} \times_V V_{\alpha(j)} \ar[lu] \ar [ld] \\
& U_j \rar \uar & V_{\alpha(j)} \uar
\end{tikzcd},
\end{equation*}
which gives a unique map $U_i \times_U U_j \to V_{\alpha(i)} \times_V V_{\alpha(j)}$
making the diagram commute. Applying $\mcF$ gives the diagram:
\begin{equation}\label{eq:fibre_product_coverings}
\begin{tikzcd}
\mcF(U_i) \dar &\mcF(V_{\alpha(i)}) \lar \dar \\
\mcF(U_i \times_U U_j) & \mcF(V_{\alpha(i)} \times_V V_{\alpha(j)} ) \lar \\
\mcF(U_j) \uar &\mcF(V_{\alpha(j)}) \lar \uar
\end{tikzcd}
.
\end{equation}
We can now define $\mcF(\mcV) \to \mcF(\mcU)$ by
\begin{equation*}
(s_j)_{j\in J} \mapsto ((s_{\alpha(i)})|_{U_i})_{i\in I}.
\end{equation*}
That this map is well-defined follows from \cref{eq:fibre_product_coverings}.
Indeed, if $(s_j)_{j\in J} \in \mcF(\mcV)$, then
\begin{equation*}
(s_{\alpha(j)}|_{V_{\alpha(i)}\times_U V_{\alpha(j)}})|_{U_i \times U_j}
= (s_{\alpha(i)}|_{V_{\alpha(i)}\times_U V_{\alpha(j)}})|_{U_i \times U_j},
\end{equation*}
and hence
\begin{equation*}
(s_{\alpha(i)}|_{U_i})|_{U_i \times_U U_j}
= (s_{\alpha(j)}|_{U_j})|_{U_i \times_U U_j}.
\end{equation*}
It remains to show that this construction is functorial, since
the final claim is just the definition of a sheaf of sites. Let,
to this purpose, $\mcU \to \mcV \to \mcW$ be maps of coverings,
with associated maps $\alpha\colon I \to J$ and $\beta \colon J \to K$.
The map $\mcF(\mcW) \to \mcF(\mcU)$ maps $(s_k)_{k\in K}$ to
$(s_{\beta(\alpha(i))}|_{U_i})_{i\in I}$. The other map is given by
first sending $(s_k)_{k \in K}$ to $(s_{\beta(j)}|_{V_j})_{j\in J}$,
which is then sent to $((s_{\beta(\alpha(i))}|_{V_{\alpha(i)}})|_{U_i})_{i\in I}$.
The result now follows by functoriality of $\mcF$.
\end{proof}
We now have the following construction:
\begin{lemma}
Given a presheaf of $\mcF$ on a site $\mcC$, we can construct
a new presheaf $\mcF^+$ by setting
\begin{equation*}
\mcF^+(U) = \colim_{\mcU \in \Cov(U)} \mcF(\mcU),
\end{equation*}
\end{lemma}
\begin{proof}
Let us first show how $\mcF^+$ acts on morphisms. Consider
a morphism $U \to V$. Then this gives a map $\Cov(V) \to \Cov(U)$
by mapping a cover $\{V_i \to V\}_{i\in I}$ of $V$ to the cover
$\{V_i \times_V U \to U\}_{i\in I}$ of $U$,
which exists by the third axiom of coverings.
From the previous lemma there are induced maps
${\mcF}(\mcU) \to {\mcF}(\mcV)$.
Since we have maps $\mcF(\mcV) \to \mcF^+(V)$,
we obtain maps ${\mcF}(\mcU) \to \mcF^+(V)$.
By the universal property of the colimit, this gives a unique map
$\mcF^+(V) \to \mcF^+(U)$, making the cone diagrams commute.
\begin{equation*}
\begin{tikzcd}[column sep=small]
&&\mcF^+(U) \ar[ddll, bend right, leftarrow]
\ar[ddrr, bend left, leftarrow]\\
&&\mcF^+(V)\uar[dashed]\\
\mcF(\mcU) \rar &\mcF(\mcV)\ar[ur] \ar[rr]
&&\mcF(\mcV') \ar[ul] &\mcF(\mcU') \lar
\end{tikzcd}
\end{equation*}
It remains to show that this defines a functor $\mcC^{\opp}\to \Set$.
If we have morphisms $U\to V \to W$, then
\begin{equation*}
W_i \times_W U \cong (W_i \times_W V) \times_V U,
\end{equation*}
since both are pullbacks of $\begin{tikzcd}
[sep=small, cramped]
W_i \rar & W & U \lar
\end{tikzcd}$.
So $\Cov(-)$ is a functor, and
since $\mcU \mapsto \mcF(\mcU)$ is a functor
by the previous lemma, the result now follows.
\end{proof}
It is possible to be more explicit about how $\mcF^+$ looks like.
For two coverings $\mcU, \mcU'$ of $U \in \mcC$,
we have a common refinement $\{U_i \times_U U'_j \to U\}_{i\in I, j\in J}$
which exists by the second and third axioms.
Furthermore, one can show that if $f,g\colon \mcU \to \mcV$
are refinements, then $\mcF(f) = \mcF(g)$
(\cite[\href{https://stacks.math.columbia.edu/tag/00W7}{Tag 00W7}]{stacks-project}).
This gives that $\Cov(U)^{\opp} \to \Set$ is a filtered
diagram. So
\begin{equation*}
\mcF^+(U) =\Bigl( \coprod\limits_{\mcU \in \Cov(U)} \mcF(\mcU)\Bigr)/ \sim,
\end{equation*}
Where $s \sim s'$ if and only if there are covers $\mcU, \mcU'$ with
$s\in \mcF(\mcU), s' \in \mcF(\mcU')$ and a common refinement $\mcV$ such that
\begin{equation*}
s_{\alpha(i)}|_{V_i} = s'_{\beta(i)}|_{V_i}, \, \forall i\in I.
\end{equation*}
We now come to the main theorem, from which
\cref{prop:sheafification} will follow.
\begin{theorem}
Let $\mcF$ be a presheaf on a site. Then
\begin{enumerate}
\item The presheaf $\mcF^+$ is separated.
\item If $\mcF$ is separated, then $\mcF^+$ is a sheaf.
\item If $\mcF$ is a sheaf, then $\mcF \to \mcF^+$ is an isomorphism.
\end{enumerate}
\end{theorem}
\begin{proof}
\leavevmode
\begin{enumerate}
\item We need to show that $s \mapsto (s|_{U_i})_{i\in I}$ is injective
for any cover $\{U_i \to U\}_{i \in I} \in \Cov(\mcC)$.
Take $s, s' \in \mcF^+(U)$ such that
$(s|_{U_i})_{i\in I} = (s'|_{U_i})_{i\in I}$ for some
cover $\mcU = \{U_i \to U\}_{i\in I}$.
By the description above of $\mcF^+$, we know that
we can find covers $\mcV$ and $\mcV'$ of $U$,
such that $s\in \mcF(\mcV)/\sim$ and $s'\in\mcF (\mcV')/\sim$.
Let $\mcW$ be a common refinement of the three covers
$\mcU, \mcV, \mcV'$. Since it is a refinement of $\mcU$,
we have that
\begin{equation*}
s'|_{W_j} = (s|_{U_{\alpha(j)}})|_{W_j} =
(s|_{U_{\alpha(j)}})|_{W_j} = s'|_{W_j},
\end{equation*}
so that $s=s'$.
\item We need to verify the sheaf condition. Let $\{U_i \to U\}_{i\in I}$
be a cover of $U$, and for each $i\in I$, $s_i \in \mcF^+(U_i)$ such that
$s_i |_{U_i \times_U U_j} = s_j |_ {U_i \times_U U_j}$ for every $i,j \in I$.
Since $\mcF$ is separated, the map $s \to (s|{U_i})_{i\in I}$ is injective.
It is hence enough to show that there is some $s\in \mcF^+(U)$ with
$s|_{U_i} = s_i$ for all $i\in I$.
For each $i\in I$ we can find a cover $\mcU_i = \{U_{ij} \to U_i\}$
such that $s_i \in \mcF(\mcU_i)/\sim$, and hence $s_{ij} \in \mcF(U_{ij})$
such that $s_i |_{U_{ij}} = s_{ij}/\sim$. In the same way
as \cref{lem:presheaf_of_cover} we get that
\begin{equation*}
s_{ij}|_{U_{ij}\times_U U_{i'j'}} = s_{i'j'}|_{U_{ij}\times_U U_{i'j'}}.
\end{equation*}
So, $(s_{ij})_{i,j\in I} \in \mcF(\{U_{ij}\to U\}_{i,j\in I})$, and we can
take $s = (s_{ij})_{i,j\in I}/\sim$.
We just need to verify that $s|_{U_i} = s_i$. This follows
from $(s|_{U_i})|_{U_{ij}} = s|_{U_{ij}} = s_i|_{U_{ij}}$, as $\mcF^+$ is
also separated.
\item This follows from \cref{lem:presheaf_of_cover}.
\end{enumerate}
\end{proof}
With this we are now ready to prove \cref{prop:sheafification}.
We define $\mcF^\sharp = \mcF^{++}$.
\begin{proof}[Proof of \cref{prop:sheafification}]
We first note that for any map of presheaves $\alpha\colon \mcF \to \mcG$,
we have a commutative diagram
\begin{equation*}
\begin{tikzcd}
\mcF \rar \dar["\alpha"] & \mcF^+ \dar["\alpha^+"] \\
\mcG \rar & \mcG^+
\end{tikzcd},
\end{equation*}
where $\alpha^+_U(s/ \sim) = \alpha_U(s)/\sim$.
That this commutes, is by construction of $\alpha^+$.
Using this, we can now show that
\begin{equation*}
\Hom_{\Sh(\mcC)}(\mcF^\sharp, \mcG) = \Hom_{\PSh(\mcC)}(\mcF, \iota(\mcG)).
\end{equation*}
The bottom row of the diagram
\begin{equation*}
\begin{tikzcd}
\mcF \rar \dar &\mcF^+ \dar \rar & \mcF^{++} = \mcF^{\sharp} \dar \\
\iota(\mcG) \rar &\iota(\mcG)^+ \rar & \iota(\mcG)^{++} = \mcG^{\sharp}
\end{tikzcd}
,
\end{equation*}
consists of isomorphisms by the previous theorem.
So, any map $\mcF \to \iota(\mcG)$ gives rise to a map
$\mcF^\sharp \to \mcG$.
Conversely, since every $s\in \mcF^\sharp(U)$ comes from sections
in $\mcF(U)$, we can lift any map $\mcF^\sharp \to \mcG$
to a map $\mcF \to \mcG$.
\end{proof}
As an immediate consequence, we get that $(-)^\sharp$
commutes with all colimits. So $\Sh(\mcC)$ has all colimits,
since $\PSh(\mcC)$ has all colimits by \cref{lem:lims_colims_presheaves}.
We can say more:
\begin{prop}
\label{prop:sheafification_exact}
The functor $(-)^\sharp\colon \PSh(\mcC) \to \Sh(\mcC)$ is exact.
\end{prop}
\begin{proof}
Since it is a left adjoint, it is right exact. On the other hand,
colimits over filtered diagrams commute with finite limits.
So, $(-)^\sharp$ is left exact as a functor between presheaves.
We claim that if $\mcI \to \Sh(\mcC)$ is a diagram, then
the limit $\mcF = \lim_i \mcF_i$ as presheaves is a sheaf.
For this we show that $\mcF(\mcU) \cong \mcF(U)$ for any cover $\mcU = \{U_j \to U\}$.
Take $(s_j)_{j\in J} \in \mcF(\mcU)$, then by definition of the
limit, we can project these to elements $(s_{ij})_{j \in J} \in \mcF_i(\mcU)$.
Since each $\mcF_i$ is a sheaf, we have unique elements $s_i \in \mcF_i(U)$
such that $s_i |_{U_j} = s_{ij}$.
We now want an element $s\in \mcF(U)$ with projections equal to the $s_i$.
Choosing an element of $\mcF(U)$, is the same as giving a map $\{*\} \to \mcF(U)$,
which by the universal property of the limit is the same as giving a cone
$(\{*\}, \lambda_i)$. Let $\lambda_i(*) = s_i$, then we just need to verify
that this defines a cone.
We need that for $f\colon i\to i'$ in $\mcI$,
$\mcF(f)(s_i) = s_{i'}$. This follows, as $s_i|_{U_j}$ is mapped to $s_{i'}|_{U_j}$
for all $j\in J$, and hence $s_i$ is mapped to $s_{i'}$ because
$\mcF_{i'}$ is a sheaf. So we have a unique $s\in \mcF(U)$,
and by the universal property of the limit
\begin{equation*}
s|_{U_j} = s_j \iff s_i|_{U_j} = s_{ij}\; \forall i\in I,
\end{equation*}
which holds by construction.
Hence, the claim holds, and $(-)^\sharp$ is also right exact as a functor
into sheaves.
\end{proof}
To get a better understanding of sheafification, let us work out
the process of sheafification for some presheaves.
\begin{example}
We consider the presheaf $\mcF$ of \cref{exmp:bad_presheaves}.
To calculate $\mcF^+$ we use that
\begin{equation*}
\mcF^+(U) = \Bigl(\coprod\limits_{\mcU \in \Cov(U)}\mcF(\mcU)\Bigr)/ \sim.
\end{equation*}
If $U$ is non-empty, then
\begin{equation*}
\mcF(\mcU) = \{(y_i)_{i\in I}\in \prod_{i\in I} Y \mid y_i = y_j\; \forall i,j \in I\}
= \{(y)_{i\in I}\mid y\in Y\}
\end{equation*}
for any cover $\mcU$ of $U$. Take $(y)_{i\in I} \in \mcF(\mcU)$, and
$(y')_{j\in J} \in \mcF(\mcU')$. For any common refinement $\mcV$ of
$\mcU$ and $\mcU'$, we have $(y_{\alpha(i)})|_{V_i} = y$ and $(y'_{\beta(i)})|_{V_i} = y'$
so that $(y)_{i\in I} \sim (y')_{j\in J} \iff y = y'$.
So, we find again that $\mcF^+(U) = Y$ as long as $U \neq \emptyset$.
Now, when $U = \emptyset$ there are two covers: $\{\emptyset \to \emptyset\}$,
and the empty covering, $\{\}_{i\in \emptyset}$. We have
$\mcF(\{\emptyset \to \emptyset\}) = \mcF(\emptyset) = Y$,
while $\mcF(\{\}_{i\in \emptyset}) = \{*\}$.
Now every $y\in Y$ is equivalent to $*$, as $\{\}_{i\in \emptyset}$
is a common refinement of the two covers, and the equivalence
condition becomes an empty statement in this case. As such we find
$\mcF^+(\emptyset) = \{*\}$.
Note that $\mcF^+$ is isomorphic to $\mcG$ from \cref{exmp:bad_presheaves}.
After all, a constant function $U \to Y$ is the same
as choosing an element in $Y$.
We now have a separated presheaf $\mcF^+$. What does the sheaf
$\mcF^\sharp$ look like? Let us first consider the case that $U$
is empty. Then for both covers $\{\emptyset \to \emptyset\}$ and
$\{\}_{i\in \emptyset}$ we get $\mcF^+(\mcU) = \{*\}$.
So $\mcF^\sharp(\emptyset) = \{*\}$.
More interesting is what happens when $U \neq \emptyset$.
Let $\{U_i \to U\}_{i\in I}$ be a cover such that
none of the $U_i$ are empty. Then
\begin{align*}
\mcF^+(\mcU) & =
\{(y_i)_{i\in I}\in \prod_{i\in I} Y \mid
y_i|_{U_i \cap U_j} = y_j|_{U_i \cap U_j}\; \forall i,j \in I\} \\
& = \{(y_i)_{i\in I}\in \prod_{i\in I}Y\mid
y_i = y_j,\, U_i \cap U_j \neq \emptyset\},
\end{align*}
as $\mcF^+(\emptyset) = \{*\}$ and hence $y|_{U_i \cap U_j} = *$
if $U_i \cap U_j = \emptyset$ for any $y \in Y$.
We can view elements of $\mcF^+(\mcU)$ as functions $s\colon U \to Y$,
that are constant on each of the opens $U_i$.
Adding empty sets
to the cover does not really change anything: the elements of
$\mcF(\mcU)$ will be $*$ at the indices for which $U_i = \emptyset$.
Under $\sim$ such functions will all be the same.
Take $f \in \mcF^\sharp(U)$. Then there is some cover
$\mcU = \{U_i\}_{i\in I}$ such that $f$
arises from $\mcF^+(\mcU)$. Consequently, for each $x\in U$,
there is some $U_i$ containing $x$, such that $f$
is constant on $U_i$. In other words, $f$ is a locally
constant function on $U$. If we equip $Y$ with the discrete
topology then this is equivalent to saying that $f\colon U \to Y$
is continuous.
The sheaf $\mcF^\sharp$ is (perhaps a little confusingly) called the
\emph{constant sheaf with value $Y$} and sometimes
denoted as $\underline{Y}$.
\end{example}
\section{Sheaf cohomology}
In the previous section we have explored some
fundamental properties of sheaves of sets.
We will now be looking at sheaves of abelian groups,
which form a very interesting and rich abelian category.
The previous section only proved results for sheaves of
sets, but these results still hold for sheaves of abelian
groups. This can be shown by either verifying that all
the proofs still hold in the abelian case, or through
a more abstract approach like in
\cite[\href{https://stacks.math.columbia.edu/tag/00YR}{Section 00YR}]{stacks-project}
\begin{prop}
Let $\mcC$ be a site. The category
$\Ab(\mcC)$ of abelian sheaves on $\mcC$ is abelian.
\end{prop}
\begin{proof}
Let $\mcF$ and $\mcG$ be two abelian sheaves on $\mcC$.
For natural transformations $\alpha, \beta \in \Hom_{\Ab(\mcC)}(\mcF, \mcG)$
we define $\alpha + \beta$ via
\begin{equation*}
(\alpha + \beta)_U \defeq \alpha_U + \beta_U,
\end{equation*}
where the $+$ on the right-hand side is the $+$ in $\Ab$.
Let us verify that $\alpha + \beta$ is a natural transformation.
If $f\colon U \to V$ is a morphism in $\mcC$ we have:
\begin{align*}
(\alpha + \beta)_U \circ \mcF(f)
& = (\alpha_U + \beta_U) \circ \mcF(f) \\
& = \alpha_U \circ \mcF(f) + \beta_U \circ \mcF(f) \\
& = \mcG(f) \circ \alpha_V + \mcG(f) \circ \beta_V \\
& = \mcG(f) \circ (\alpha_V + \beta_V) \\
& = \mcG(f) \circ (\alpha + \beta)_V,
\end{align*}
so that $\alpha + \beta$ is indeed an abelian category.
With this operation, the hom-sets become abelian groups.
Using \cref{lem:lims_colims_presheaves} and \cref{prop:sheafification_exact}
we find that $\Ab(\mcC)$ has finite limits and colimits.
Explicitly, limits in sheaves are the limits in presheaves,
and colimits in sheaves are the sheafifications of the colimits in presheaves.
As such, we find:
\begin{itemize}
\item The zero object is given by $\underline{0}$,
the constant sheaf with value $0$.
\item The biproduct of $\mcF$ and $\mcG$ is given by
$(\mcF \oplus \mcG )(U) = \mcF(U) \oplus \mcG(U)$
\item The kernel of a map $\alpha \colon \mcF \to \mcG$ is given by
$\Ker(\alpha)(U) = \Ker(\alpha_U)$.
\item The cokernel of $\alpha \colon \mcF \to \mcG$
is given by the sheafification of the presheaf defined by
$H(\alpha)(U) = \Coker(\alpha_U)$.
\end{itemize}
For $\Ab(\mcC)$ to be an abelian category, we still need to
show that for $\alpha \colon \mcF \to \mcG$ a morphism of sheaves,
$\Img(\alpha) = \Coimg(\alpha)$. In the category of abelian presheaves we have
\begin{equation*}
\Coimg(\iota(\alpha))(U) = \Coimg(\iota(\alpha)_U)
= \Img(\iota(\alpha)_U) = \Img(\iota(\alpha))(U),
\end{equation*}
where $\iota$ is the inclusion functor of sheaves into presheaves.
Since $(-)^\sharp$ is exact, we find
\begin{align*}
\Coimg(\alpha)
& = \Coker(\Ker(\alpha)) \\
& = \Coker^\sharp(\iota(\Ker(\alpha))) \\
& = \Coker^\sharp(\Ker(\iota(\alpha))) \\
& = \Coimg^\sharp(\iota(\alpha)) \\
& = \Img^\sharp(\iota(\alpha)) \\
& = \Ker^\sharp(\Coker(\iota(\alpha))) \\
& = \Ker(\Coker^\sharp(\iota(\alpha))) \\
& = \Ker(\Coker(\alpha)) \\
& = \Img(\alpha).
\end{align*}
\end{proof}
Taking the sheafification is really needed when
taking colimits. This is illustrated in the following
example.
\begin{example}
Consider the two sheaves $\Cont(-, \bbR)$ and
$\Cont(-, 2\pi \bbZ)$ on the circle $S^1 \subseteq \bbC$.
We claim that the quotient $\Cont(-, \bbR)/ \Cont(-, 2\pi \bbZ)$
as presheaves is not a sheaf. For this, consider
the two open sets
$U_1 = \{e^{i\theta} \in S^1 \mid \theta \in(0, 2\pi) \}$ and
$U_2 = \{e^{i\theta} \in S^1 \mid \theta \in(-\varepsilon, \varepsilon) \}$.
We have continuous functions $f_i \colon U_i \to \bbR$ given by
$f_1(e^{i\theta}) = \theta \in (0, 2\pi )$, and
$f_2(e^{i\theta}) = \theta \in (- \varepsilon, \varepsilon)$.
Let $V = U_1 \cap U_2 = \{e^{i\theta} \in S^1 \mid \theta \in (-\varepsilon,0)\cup(0, \varepsilon) \}$.
Then
\begin{equation*}
(f_1 |_V - f_2 |_V)(e^{i \theta}) =
\begin{cases}
2 \pi & \theta \in (-\varepsilon, 0) \\
0 & \theta \in (0, \varepsilon) \\
\end{cases},
\end{equation*}
so $f_1|_{V} - f_2|_V \in \Cont(V, 2 \pi \bbZ)$ as it is locally constant.
Consequently, the two functions agree on overlaps in the quotient.
If $\Cont(-, \bbR)/\Cont(-, 2\pi \bbZ)$
were a sheaf, then we would be able to glue the two functions together
to a function $\bar{f} \in \Cont(S^1, \bbR)/ \Cont(S^1 , 2\pi \bbZ)$
such that $\bar{f_1} = \bar{f}|_{U_1}$ and $\bar{f_2} = \bar{f}|_{U_2}$.
Since $S^1$ is connected, the elements of $\Cont(S^1, 2 \pi \bbZ)$ are
constant functions. So, $f_1 |_V - f|_V$, and $f_2 |_ V - f|_V$ would
have to be constants, and hence also $f_1 |_V - f_2 |_V$, a contradiction.
\end{example}
We will now restrict ourselves to the special case
where $\mcC = \Open(X)$ for some topological space $X$.
We follow the general ideas presented in \cite[Session 1]{Sch2020MasterClass},
while filling out the details.
\begin{prop}
Let $f \colon X \to Y$ be a continuous map. Then there is a
pair of adjoint functors: the pullback functor,
$f^* \colon Ab(Y) \to Ab(X)$, with right adjoint, the pushforward functor
$f_* \colon Ab(X) \to Ab(Y)$. Furthermore, $f^*$ is exact.
\end{prop}
\begin{proof}
We start off by writing down what the pullback and pushforward
functors look like.
Let $\mcF$ be a sheaf on $X$, and $V \in \Open(Y)$. Then,
$(f_*\mcF)(V) \defeq \mcF(f\inv(V))$.
If $\mcG$ is a sheaf on $Y$, then
we get a presheaf $V \mapsto \colim_{U \supseteq f(V)} \mcG(U)$,
and $f^*\mcG$ is defined as the sheafification of this presheaf.
There are now a lot of things to verify:
\begin{itemize}
\item $f_*\mcF$ is a sheaf on $Y$. Since $f$ is continuous,
$f\inv(V) \in \Open(X)$ for all $V\in \Open(Y)$. Furthermore,
if $V \subseteq V' \subseteq V''$ then
$f\inv(V) \subseteq f\inv(V') \subseteq f\inv(V'')$. So,
$f\inv$ is a functor $\Open(Y) \to \Open(X)$, and $f_*\mcF$
is a presheaf as composition of functors. If $\{V_i\}_{i\in I}$
is an open cover of $V$, then $\{f\inv(V_i)\}_{i\in I}$
is an open cover of $f\inv(V)$.
So $(f_*\mcF)(V) \to (f_*\mcF)(\{V_i\}_{i\in I})$ is a bijection
since $\mcF(f\inv(V)) \to \mcF(\{f\inv(V_i)\}_{i\in I})$
is a bijection by $\mcF$ being a sheaf. Consequently,
$f_*\mcF$ is a sheaf by \cref{lem:presheaf_of_cover}.
\item $f^*\mcG$ is a sheaf on $X$. Since we take the sheafification,
we just need to verify that $G(U) = \colim_{V \supseteq f(U)} \mcG(V)$
defines a presheaf. First note that if $U\subseteq U'$,
then $\{V \supseteq f(U')\} \subseteq \{V \supseteq f(U)\}$.
So, $G(U)$ is also a co-cone for $\mcG(V)_{V \supseteq f(U')}$,
and there is hence a unique map $G(U') \to G(U)$,
by the colimit property. The uniqueness
of this map gives the functoriality of $G$. After all,
the map $G(U) \to G(U)$ must be the identity, by uniqueness,
and the two maps $G(U'') \to G(U') \to G(U)$, for
$U \subseteq U' \subseteq U''$ must also be
equal by uniqueness.
\item $f_*$ is a functor. For $\alpha \colon \mcF \to \mcG$,
we define $f_*\alpha$ via $(f_*\alpha)_V = \alpha_{f\inv(V)}$.
Then,
\begin{equation*}
(f_*\beta \circ f_* \alpha)_V
= \beta_{f\inv(V)} \circ \alpha_{f\inv(V)}
= (\beta \circ \alpha)_{f\inv(V)}
= (f_*(\beta\circ \alpha))_V,
\end{equation*}
so we just need to check that $f_*\alpha$ is a natural
transformation. If $V \subseteq V'$, then $f\inv(V) \subseteq f\inv(V')$,
so naturality of $f_*\alpha$ in $V,V'$ follows from naturality
of $\alpha$ in $f\inv(V), f\inv(V')$.
\item $f^*$ is a functor. Let $\alpha\colon \mcG \to \mcF$
be a natural transformation, and $G$ and $F$ be the presheaves
from the construction of $f^*\mcG$ and $f^*\mcF$. To define
$f^*\alpha$ we need to give a map $G(U) \to F(U)$ for each
$U\in \Open(X)$. For each $V \supseteq f(U)$ we have a
map $\mcF(V) \to F(U)$ which we can compose with $\alpha_V$
to get a map $\mcG(V) \to F(U)$. Naturality of $\alpha$
implies that this gives a well-defined co-cone, and hence a
unique morphism $G(U) \to F(U)$ by the universal property
of colimits. Uniqueness of this map gives the functoriality
of $f^*$.
\item $\Hom_{\Ab(X)}(f^*\mcG, \mcF) = \Hom_{\Ab(Y)}(\mcG, f_*\mcF)$.
Let $\alpha \colon \mcG \to f_*\mcF$ be a morphism in $\Ab(Y)$.
So, for each $V\in \Open(Y)$ we have a map
\begin{equation*}
\alpha_V \colon \mcG(V) \to \mcF(f\inv(V)).
\end{equation*}
Now, if $V \supseteq f(U)$, then $f\inv(V) \supseteq f\inv(f(U)) \supseteq U$.
So we get a map
\begin{equation*}
\beta_U^V \defeq \alpha_V|_U \colon \mcG(V) \to\mcF(f\inv(V))\to \mcF(U),
\end{equation*}
for each $V \supseteq f(U)$. In order for $(\mcF(U), \beta_U^V)$ to
form a co-cone we need that
\begin{equation*}
\begin{tikzcd}[column sep=small, cramped]
&\mcF(U)\\
\mcF(f\inv(V)) \ar[rr, "|_{f\inv(V')}"] \ar[ru, "|_U"]
& & \mcF(f\inv(V')) \ar[lu, "|_U"'] \\
\mcG(V) \ar[rr, "|_{V'}"] \ar[u, "\alpha_V"] & &
\mcG(V') \ar[u, "\alpha_{V'}"']
\end{tikzcd}
,
\end{equation*}
commutes for $V \supseteq V' \supseteq f(U)$.
The top triangle commutes by functoriality of $\mcF$,
while the bottom square commutes by naturality of $\alpha$.
The universal property of the colimit gives a unique map
\begin{equation*}
\tilde{\beta}_U \colon \colim_{V \supseteq f(U)} \mcG(V) \to \mcF(U),
\end{equation*}
making the co-cone diagrams commute.
We now need to verify that this gives a map of presheaves