-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathContent.tex
762 lines (707 loc) · 42.9 KB
/
Content.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
\begin{abstract}
In this document we are going to prove \textbf{De Rham} theorem,
which states that De Rham and singular cohomology,
over a \textit{paracompact} manifold $M$, are isomorphic.
Moreover we will prove the explicit form of this isomorphism,
given by integration of forms on singular simplices.
This result is going to be proved using $F$-injective resolutions and tools from sheaf theory.
\end{abstract}
\section{Useful results}
Let $M$ be a \textit{paracompact smooth real manifold}.
\begin{lem}
Every \textbf{fine} sheaf on $M$ is \textbf{soft}.
\end{lem}
\begin{lem}\label{lem:gammainjectives}
The full subcategory of \textbf{soft sheaves} is $\Gamma(M,-)$-injective.
\end{lem}
\section{Singular Cohomology}
For this section consider $K$ to be a PID, $M$ a \textit{paracompact manifold} and $U \subset M$ an open subset of $M$.
Let us define the \textit{continuous singular simplices}:
\begin{defn}[Standard $p$-simplex]
Let $\N \ni p \geq 1$. We define the \textit{standard p-simplex}
\begin{equation}
\Delta^p := \left\{ \left( a_1, \ldots, a_p \right) \in \R^p \ \middle|\ \sum_{i=1}^{p} a_i \leq 1 \text{ and, } \,\forall\, i \in \{1, \ldots, p \},\ a_i \geq 0 \right\}
.\end{equation}
For $p = 0$ we set $\Delta^0 := \left\{ 0 \right\}$ the $1$-point space, and we call $\Delta^0$ the \textit{standard 0-simplex}.
\end{defn}
\begin{defn}[Continuous/differentiable singular p-simplex]
We define a \textit{continuous singular simplex} $\sigma$ in $U$ to be a \textit{continuous} map $\sigma: \Delta^p \to U$.
If $p \geq 1$ we say that $\sigma$ is a \textit{differentiable singular p-simplex} in $U$ iff it can be extended to a differentiable ($\mathscr{C}^\infty$) map of a neighborhood of $\Delta^p$ in $\R^p$ into $U$.
\end{defn}
\begin{rem}
The theory can be developed also for \textit{differentiable} singular simplices, but it requires some care we are not willing to give.
In general it is exactly the same as for \textit{continuous} ones, apart from where noted otherwise.
In case you want to develop such theory, please refer to \cite{warner}.
From now on we are going to deal only with \textit{continuous} singular simplices, hence we will stop indicating their continuity.
\end{rem}
\begin{defn}[Singular $p$-chains with integer coefficients]
Fixed $U \stackrel{\text{open}}{\subset} M$, we define $S_p(U)$ to be the \textit{free abelian group} (equivalently the \textit{free $\Z$-module}) generated by the singular $p$-simplices in $U$.
Its elements are called \textit{singular $p$-chains with integer coefficients}, and can be written as finite formal sums, with integer coefficients, of singular simplices, such as:
\begin{equation}
c = \sum_{j=1}^{n} n_j \sigma_j
,\end{equation}
where $n_j \in \Z\setminus \left\{ 0 \right\}$ and $\sigma_j$ a singular $p$-simplex for every $1 \leq j \leq n$.
\end{defn}
\begin{defn}[Boundary]
We define, for each $p \geq 0$ and $0 \leq i \leq p+1$, the collection of maps $k_i^p: \Delta^p \to \Delta^{p+1}$:
\begin{align}
\begin{matrix}
\text{for } p = 0,\quad
&\begin{dcases}
k^0_0(0) := 1\\
k^0_1(0) := 0\\
\end{dcases} \\
\\
\text{for } p \geq 1,\quad
&\begin{cases}
k_0^p(a_1, \ldots, a_p) := \left( 1 - \sum_{j=1}^{p} a_j, a_1, \ldots, a_p \right)\\
k_i^p(a_1, \ldots, a_p) := \left( a_1, \ldots, a_{i-1}, 0, a_{i+1}, \ldots, a_p \right) \quad \text{for } 1 \leq i \leq p
\end{cases}
\end{matrix}
.\end{align}
Given a singular $p$-simplex $\sigma$ in $U \stackrel{\text{open}}{\subset} M$, we define its $i$th \textit{face}, for $0 \leq i \leq p$, to be the singular ($p-1$)-simplex
\begin{equation}
\sigma^i := \sigma \circ k_i^{p-1}
.\end{equation}
We will use the superscript index to denote the face of a singular simplex.
Finally we define the \textit{boundary} of $\sigma$ to be the singular ($p-1$)-chain
\begin{equation}
\partial \sigma := \sum_{j=0}^{p} (-1)^j \sigma^j \in S_{p-1}(U)
,\end{equation}
in which, as stated before, $\sigma^j$ denotes the $j$ th face of $\sigma$.
Extending the \textit{boundary operator} $\partial$ by linearity, we obtain a homomorphism
\begin{equation}
\partial: S_p(U) \to S_{p-1}(U)
.\end{equation}
More explicitly, the boundary operator acts as follows on a singular $p$-chain:
\begin{equation}
\partial \left( \sum_{j=1}^{n} a_j \sigma_j \right) := \sum_{j=1}^{n} a_j \partial \sigma_j = \sum_{j=1}^{n} \sum_{i=0}^{p} (-1)^i a_j \sigma_j^i
.\end{equation}
\end{defn}
\begin{lem}
$k_i^{p+1} \circ k_j^p = k_{j+1}^{p+1} \circ k_{i}^p$ for any $p \geq 0$ and $i \leq j$.
\end{lem}
\begin{proof}
If $p = 0$ it can be checked directly (there are only 3 cases).
For $p \geq 1$ it will be computed directly.
The first term acts as
\begin{equation}
k_i^{p+1} \circ k_j^p (a_1, \ldots, a_p) =
\begin{cases}
\left( a_1, \ldots, a_{i-1}, 0, a_i, \ldots, a_{j-1}, 0, a_j, \ldots, a_p \right) & \text{ if } 1 \leq i < j\\
\left( a_1, \ldots, a_{i-1}, 0, 0, a_i, \ldots, a_p \right) & \text{ if } 1 \leq i = j\\
\left( 1 - \sum_{j=1}^{p} a_j, \ldots, a_{j-1}, 0, a_j, \ldots, a_p \right) &\text{ if } 0 = i < j\\
\left( 0, \sum_{j=1}^{p} a_j, a_1, \ldots, a_p \right) &\text{ if } 0 = i = j\\
\end{cases}
.\end{equation}
Analogously we can compute that the second term acts as
\begin{equation}
k_{j+1}^{p+1} \circ k_i^p (a_1, \ldots, a_p) =
\begin{cases}
\left( a_1, \ldots, a_{i-1}, 0, a_i, \ldots, a_{j-1}, 0, a_j, \ldots, a_p \right) & \text{ if } 1 \leq i < j\\
\left( a_1, \ldots, a_{i-1}, 0, 0, a_i, \ldots, a_p \right) & \text{ if } 1 \leq i = j\\
\left( 1 - \sum_{j=1}^{p} a_j, \ldots, a_{j-1}, 0, a_j, \ldots, a_p \right) &\text{ if } 0 = i < j\\
\left( 0, \sum_{j=1}^{p} a_j, a_1, \ldots, a_p \right) &\text{ if } 0 = i = j\\
\end{cases}
.\end{equation}
\end{proof}
\begin{lem}
$\partial \circ \partial = 0$.
\end{lem}
\begin{proof}
We are gonna prove this result only for singular $p$ simplices, then by linearity this result will hold for arbitrary singular $p$-chains.
If $p = 0, 1$ the result is trivial.
Let, now, $p \geq 2$ and $\sigma$ be a singular $p$-simplex.
By definition $\partial$ acts on $\sigma$ as
\begin{equation}
\partial \sigma = \sum_{i=0}^{p} (-1)^i \left( \sigma \circ k_i^{p-1} \right)
.\end{equation}
Hence we can compute the double \textit{boundary} as
\begin{equation}
\partial \circ \partial \sigma = \sum_{i=0}^{p} \sum_{j=0}^{p-1} (-1)^{i+j} \left( \sigma \circ k_i^{p-1} \circ k_j^{p-2} \right)
.\end{equation}
We can divide the sum for $i \leq j$ and $i > j$, as
\begin{align}
\partial \circ \partial \sigma =& \sum_{j=0}^{p-1} \sum_{i=j+1}^{p} (-1)^{i+j} \left( \sigma \circ k_i^{p-1} \circ k_j^{p-2} \right) +
\sum_{\tilde{j}=0}^{p-1} \sum_{\tilde{i}=0}^{\tilde{j}} (-1)^{\tilde{i} + \tilde{j}} \left( \sigma \circ k_{\tilde{i}}^{p-1} \circ k_{\tilde{j}}^{p-2} \right)\\
=& \sum_{j=0}^{p-1} \sum_{i=j+1}^{p} (-1)^{i+j} \left( \sigma \circ k_i^{p-1} \circ k_j^{p-2} \right) +
\sum_{i=1}^{p} \sum_{j=0}^{i-1} (-1)^{i+j+1} \left( \sigma \circ k_i^{p-1} \circ k_j^{p-2} \right)\\
=& 0
,\end{align}
where, in the second sum we put $i := \tilde{j} + 1$ and $j := \tilde{i}$, and we concluded with the last line since the two sums are over all $i,j$ s.t. $i > j$ and they only differ by a sign.
\end{proof}
\begin{defn}[Singular $p$-cochain on $U$]
Let $S^p \left(U, K\right)$, with $U \stackrel{\text{open}}{\subset} M$ and $K$ a PID as usual, be the set of functions that map a singular $p$-simplex in $U$ into an element of $K$.
An element of $S^p \left(U, K\right)$ is called \textit{singular p-cochain} on $U$.
\end{defn}
The set $S^p \left(U, K\right)$ can be made into a $K$-module by defining the following addition and scalar multiplication:
\begin{align}
\left( kf \right) (\sigma) &:= k \cdot f(\sigma)\\
\left( f + g \right) (\sigma) &:= f(\sigma) + g(\sigma)
.\end{align}
Also note that each singular $p$-cochain can be extended into a \textit{homomorphism} of $S_p(U)$ into $K$ by linearity.
This actually determines an isomorphism of $S^p \left(U, K\right)$ into the $K$-module of morphisms of $S_p(U)$ into $K$.
We will, hence, identify each element of $S^p(U,K)$ with the corresponding morphism.
\begin{defn}[Presheaf of singular $p$-cochains]
We can define the functor $\widetilde{S}^p_K: \mathsf{Op}_M^{op} \to \mathsf{Mod}\left( K \right)$ as the functor which acts
\begin{itemize}
\item on the objects: $\widetilde{S}^p_K(U) := S^p \left(U, K\right)$, for any $U \in \mathsf{Op}_M$,
\item on the morphisms: $V \stackrel{\text{open}}{\subset} U$ iff we have $U \xrightarrow{} V$ in $\mathsf{Op}_M^{op}$. $S^p_K$ maps this morphism to $\rho_{V,U}: S^p \left(U, K\right) \to S^p \left(V, K\right)$, the function which maps any $f \in S^p \left(U, K\right)$ to its restriction to singular $p$-simplices on $V$.
\end{itemize}
Clearly, for any $p \geq 1$ these are \textit{presheaves}.
\end{defn}
Note that these \textit{presheaves} satisfy \textbf{S2}, but not \textbf{S1}:
\begin{description}
\item[S2:] Given $\mathcal{U} := \left\{ U_i \right\}_{i \in I}$ an open covering of $U \stackrel{\text{open}}{\subset} X$ and $p$-cochains $f_i \in \widetilde{S}_K^p(U_i)$ s.t. $\left.f_i\right|_{U_i \cap U_j} = \left.f_j\right|_{U_i \cap U_j}$ for any $i, j \in I$ we can construct $f \in \widetilde{S}^p_K(U)$ s.t. $\left.f\right|_{U_i} = f_i$ for every $i \in I$.
In fact $\left.f\right|_{U_i}$ is $f$ acting only on singular $p$-simplices in $U_i$.
This, combined with the fact that we are not imposing any continuity conditions on $f$ means that we can take $f$ to be define as $f_i$ when computed on any singular $p$-simplex in $U_i$ and any arbitrary value -- e.g. 0 -- when computed on a singular $p$-simplex with range not contained in any $U_i$.
\item[S1:] The last sentence should make clear the fact that the extension is not unique -- i.e. we can map the last singular simplices to any value in $K$ -- giving at least two different extensions for any set of local cochains.
We then have that equality cannot be checked locally.
\end{description}
This shortcoming hints to the fact that we will have to consider the \textit{sheafification} of this presheaf in order to prove an isomorphism of cohomologies (spoiler alert: we are going to use resolutions).
Let's now lay the ground for the resolution we will construct:
\begin{defn}[Coboundary homomorphism]
One can define the \textit{coboundary homomorphism} $d(U): S^p \left(U, K\right) \to S^{p+1} \left(U, K\right)$ setting
\begin{equation}
d(U)f (\sigma) := f(\partial \sigma)
,\end{equation}
for any $f \in S^p \left(U, K\right)$ and $\sigma$ a singular ($p+1$)-simplex with range in $U$.
\end{defn}
\begin{rem}
Note that, since $\partial \circ \partial = 0$, also for the coboundary homomorphism, fixed $U \stackrel{\text{open}}{\subset} M$, we have $d(U) \circ d(U) = 0$.
Moreover $d$ yields a \textit{morphism of presheaves}:
\begin{equation}
d: \widetilde{S}_K^p \to \widetilde{S}_K^{p+1}
.\end{equation}
In order to check it we have to show that, for any $V \stackrel{\text{open}}{\subset} U \in \mathsf{Op}_M$, the following diagram commutes:
\begin{equation}
\begin{tikzcd}
S^p \left(U, K\right) \arrow[r, "{d(U)}", rightarrow] \arrow[d, "{\rho_{U,V}}"', rightarrow] & S^{p+1} \left(U, K\right) \arrow[d, "{\rho_{U,V}}", rightarrow] \\
S^p \left(V, K\right) \arrow[r, "{d(V)}"', rightarrow] & S^{p+1} \left(V, K\right)
\end{tikzcd}
,\end{equation}
where, as defined above, $d(U)$ represents the \textit{coboundary} morphism
from $S^p \left(U, K\right)$ and $d(V)$ the one from $S^p \left(V, K\right)$.
The diagram clearly commutes, since $d$ commutes with restriction
(the boundary operator is not affected: the range of $\sigma$ has to be in the restricted domain).
\end{rem}
\begin{defn}[Complex of presheaves of singular cochains]\label{def:precocomp}
Consider the following chain of presheaves of \textit{singular} $q$-\textit{cochains} (consider them to be $0$ for every $q < 0$):
\begin{equation}
\ldots \to 0 \to \widetilde{S}^0_K \xrightarrow{d} \widetilde{S}^1_K \xrightarrow{d} \widetilde{S}^2_K \xrightarrow{d} \ldots
.\end{equation}
This is a complex, since we have proved that the coboundary morphism satisfies
\begin{equation}
d \circ d = 0
.\end{equation}
We denote it with $\widetilde{S}^\bullet_K$ and call it the \textit{complex of presheaves of singular cochains}.
\end{defn}
\begin{defn}[Singular cohomology]
We associate, to the global sections of the complex of presheaves of singular cochains, the classical singular cohomology, i.e.
\begin{equation}
H^q_\Delta(M) := H^q(\widetilde{S}^\bullet_K(M))
.\end{equation}
\end{defn}
Let's now create the corresponding \textit{complex of sheaves}:
\begin{defn}[Sheaf of singular $p$-cochains]
We define the \textit{sheaf of p-cochains} $S^p_K := \big( \widetilde{S}_K^p \big)^a$ the \textit{sheafification} of the presheaf of $p$-cochains.
\end{defn}
With the aim of obtaining a $\Gamma(M;-)$-injective resolution for the constant sheaf in $K$, we want to prove that the just defined sheaf is fine:
\begin{lem}
For any $p$ the sheaf $S^p_K$ is \textbf{fine}.
\end{lem}
\begin{proof}
Recall that $M$ is a \textit{paracompact} manifold.
Hence it admits a locally finite open cover $\left\{ U_i \right\}_{i \in I}$, with associated \textit{partition of unity} $\left\{ \varphi_i \right\}_{i \in I}$.
As proved by Warner (see \cite{warner} section 5.22) we can choose $\varphi_i$ that only assume the values $0$ and $1$, with $\mathrm{supp}\varphi_i = \overline{V_i} \subset U_i$.
We aim to exhibit a partition of unity for the sheaf $S^p_K$.
Our starting block will be the family $\big\{\widetilde{l}_i\big\}_{i \in I}$ of endomorphisms of the presheaf $\widetilde{S}_K^p$.
Fixed $U \stackrel{\text{open}}{\subset} M$, $f \in \widetilde{S}_K^p(U)$ and $\sigma$ a singular $p$-simplex, then these morphisms act as:
\begin{equation}
\widetilde{l}_i(U) (f) (\sigma) := \varphi_i(\sigma(0)) f(\sigma)
.\end{equation}
The fact that these morphisms commute with restriction is trivially true, hence $\big\{\widetilde{l}_i\big\}_{i \in I}$ is really a family of morphisms of \textit{presheaves}.
We can, now, consider $\left\{ l_i \right\}_{i \in i}$, the family of morphisms of \textit{sheaves} associated by sheafification.
We want to prove that this is a \textit{partition of unity} for the sheaf $S^p_K$:
\begin{itemize}
\item By definition $\operatorname{\mathrm{supp}}l_i := \overline{\left\{ m \in M \ \middle|\ \left( l_i \right)_m \neq 0 \right\}}$.
We also know that the stalk of the sheafification is isomorphic to the stalk of the original presheaf, so we will check the support of $l_i$ by checking the behaviour of $\widetilde{l}_i$ at the level of stalks.
If $m \notin \overline{V}_i$, then $\exists\, U_m$ an open neighborhood of m s.t. $U_m \cap_{} \overline{V}_i = \emptyset$.
Since $\overline{V}_i$ is the support of $\varphi_i$ we desume that $(\widetilde{l}_i)_m f_m = 0$ for any $f_m \in ( \widetilde{S}^p_K )_m$.
It immediately follows that $\operatorname{\mathrm{supp}}l_i \subset \overline{V}_i \subset U_i$;
\item The morphism $\sum_{i \in I}^{} l_i (U)$ sends $s \in S^p_K(U)$ to
\begin{equation}
\sum_{i \in I}^{} l_i (U) (s): m \mapsto \sum_{i \in I}^{} (l_i)_m s(m)
.\end{equation}
Clearly the last term is exactly $s(m)$ by definition of $\big\{ \widetilde{l}_i \big\}_{i \in X}$.
This shows that
\begin{equation}
\sum_{i \in I}^{} l_i (U) = id_{S^p_K}
,\end{equation}
hence that $\left\{ l_i \right\}_{i \in i}$ is a \textit{partition of unity} for $S^p_K$.\qedhere
\end{itemize}
\end{proof}
\begin{defn}[Complex of sheaves of singular cochains]
Let us denote (with a little abuse of notation) by $d$ the image of the \textit{coboundary morphism} by the sheafification functor, $d^a$.
Then, associated with \ref{def:precocomp}, we have the \textit{complex of sheaves of singular cochains}
\begin{equation}
\ldots \to 0 \to S_K^0 \xrightarrow{d} S^1_K \xrightarrow{d} S^2_K \xrightarrow{d} \ldots
.\end{equation}
\end{defn}
\begin{rem}
This is going to be the starting block for the resolution of the constant sheaf $K_M$.
Our aim in the next few lemmas is, in fact, to prove that
\begin{equation}\label{eqn:KMResolution}
0 \to K_M \to S^0_K \xrightarrow{d} S^1_K \xrightarrow{d} S^2_K \xrightarrow{d} \ldots
,\end{equation}
is exact.
\end{rem}
\begin{rem}
Since the functor $(-)^a$ is exact we can check exactness of \eqref{eqn:KMResolution} at $K_M$ and at $S^0_K$ by checking the exactness of
\begin{equation}
0 \to K_M \to \widetilde{S}^0_K \xrightarrow{d} \widetilde{S}^1_K
.\end{equation}
\begin{itemize}
\item It is exact at $K_M$ iff the morphism from the constant sheaf with values in $K$ in $\widetilde{S}^0_K$ is mono.
It is mono iff for any $U$ open in $M$ the associated morphism of modules is injective.
This map just sends a locally constant function $f \in K_M(U)$ to its associated locally constant singular $0$-cochain (recall that a singular $0$-simplex is just the data of a point in the manifold), hence it's clearly injective.
\item It is exact at $\widetilde{S}^0_K$ iff $\ker d$ contains only the locally constant $0$-cochains.
This is the case, since by definition
\begin{equation}
df (\sigma) := f (\partial \sigma) = f(1) - f(0)
.\end{equation}
Since any singular $1$-chain is by definition a continuous path we desume that $f \in \ker d$ iff $f$ is constant on every connected subset of $M$, i.e. iff it is locally constant.
\end{itemize}
\end{rem}
\begin{rem}
For $p \geq 1$ we are going to check exactenss at the level of stalks.
Let's fix $p$ and $m \in M$, we want to check exactness of
\begin{equation}
(S^{p-1}_K)_m \xrightarrow{d_m} \left( S^p_K \right)_m \xrightarrow{d_m} ( S^{p+1}_K )_m
\end{equation}
at $\left( S^p_K \right)_m$.
We have already proved that $d \circ d = 0$, hence also $d_m \circ d_m = 0$.
This means we only have to prove that, given $f \in \left( S^p_K \right)_m$ s.t. $d_m f = 0$, there exist $g \in ( S^{p-1}_K )_m$ for which $f = dg$.
Since we are at the level of stalks we can consider the stalks of the presheaves: $(\widetilde{S}^p_K)_m$.
Here $d_mf = 0$ iff there exists a small enough neighborhood of $m$ s.t. $d(\left.f\right|_{U}) = 0$.
Similarly $f = dg$ iff there exists a small enough neighborhood of $m$ on which $d(\left.g\right|_{U}) = \left.f\right|_{U}$.
\end{rem}
\begin{rem}
Moved by the above remark we are going to concentrate on an arbitrarily small neighborhood $U$ of $m$.
Since we are in a manifold $M$, which is locally \textit{euclidean}, we can assume $U$ to be the open unit ball in $\R^d$, where $d$ is the dimension of $M$.
We are not going to prove exactness, but the stronger fact that the following complex
\begin{equation}
0 \to S^0(U,K) \xrightarrow{d} S^1(U,K) \xrightarrow{d} S^2(U,K) \xrightarrow{d} \dots
\end{equation}
is homotopic to zero.
In other words we have to construct a family of morphisms
\begin{equation}
h_p: S^p(U,K) \to S^{p-1}(U,K)
,\end{equation}
for all $p \geq 1$, s.t.
\begin{equation}
d \circ h_p + h_{p+1} \circ d = id_{S^p(U,K)}
.\end{equation}
In fact, if we take $f \in S^p \left(U, K\right)$ s.t. $df = 0$ then, by the above formula, we get
\begin{align}
f = id(f) &= (d \circ h_p + h_{p+1} \circ d) f = d \circ h_p (f)
.\end{align}
If we call $g := h_p (f)$, then we obtain the desired result: the complex is exact.
\end{rem}
As just stated, for the following theorems,
\begin{equation}
U := \mathbb{B} = \left\{ x \in \R^d \ \middle|\ \norm{x} < 1 \right\}
,\end{equation}
where $d$ is the dimension of $M$, i.e. the generic simply connected open neighborhood in the manifold $M$.
\begin{defn}[]
Let $f \in S^p_K(U)$ and $\sigma$ a singular ($p-1$)-simplex in $U$.
We define $h_p: S^p(U,K) \to S^{p-1}(U,K)$ by
\begin{equation}
h_p (f) (\sigma) := f\big(\widetilde{h}_p (\sigma)\big)
,\end{equation}
where $\widetilde{h}_p(\sigma)$ is the $p$-simplex that maps the origin, in $\Delta^p$, to the origin, in $U$, and, for any $(a_1, \ldots, a_p) \neq 0$, defined by
\begin{equation}
\widetilde{h}_p(\sigma) (a_1, \ldots, a_p) := \left( \sum_{j=1}^{p} a_j \right) \sigma \left(\frac{a_2}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)
.\end{equation}
In what follows we will consider $\widetilde{h}_p$ to be the linear extension of the above definition to the $p$-cochains, i.e. to $\widetilde{h}_p: S_{p-1}(U) \to S_p(U)$.
\end{defn}
\begin{rem}
With this definition we are only granting \textit{continuity} to $\widetilde{h}_p(\sigma)$, but not \textit{differentiability}.
This is one of the few points in which the theories for continuous and differentiable simplices diverge.
\end{rem}
\begin{lem}\label{lem:boundary_hom}
$\partial \circ \widetilde{h}_{p+1} + \widetilde{h}_p \circ \partial = id$.
\end{lem}
\begin{proof}
It is a simple -- and tedious -- computation:
let $\sigma$ be a singular $p$-simplex.
\begin{align}
\left(\partial \circ \widetilde{h}_{p+1} + \widetilde{h}_p \circ \partial\right)(\sigma) &= \sum_{i=0}^{p+1} (-1)^i \left( \widetilde{h}_{p+1}(\sigma) \right)^i + \sum_{i=0}^{p} (-1)^i\, \widetilde{h}_p (\sigma^i)\\
&= \left( \widetilde{h}_{p+1}(\sigma) \right)^0 + \sum_{i=1}^{p+1} (-1)^i \left\{ \left( \widetilde{h}_{p+1}(\sigma) \right)^i - \widetilde{h}_p(\sigma^{i-1}) \right\}\label{eqn:defn_boundary_hom}
.\end{align}
Let's now compute the individual terms.
Let $i > 1$, by definition the first summand is
\begin{align}
&\hphantom{=} \left( \widetilde{h}_{p+1}(\sigma) \right)^i (a_1, \ldots, a_p) = \widetilde{h}_{p+1}(\sigma) \circ k_i^p (a_1, \ldots, a_p)\\
&=\ \widetilde{h}_{p+1}(\sigma)(a_1, \ldots, a_{i-1}, 0, a_{i+1}, \ldots, a_p)\\
&= \left( \sum_{j=1}^{p} a_j \right) \sigma\left(\frac{a_2}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_{i-1}}{\sum_{j=1}^{p} a_j}, 0, \frac{a_{i+1}}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)
.\end{align}
Again, by definition, the second summand is
\begin{align}
&\hphantom{=} \left( \widetilde{h}_{p}(\sigma^{i-1}) \right) (a_1, \ldots, a_p) = \widetilde{h}_{p}\left(\sigma \circ k_{i-1}^{p-1}\right) (a_1, \ldots, a_p)\\
&= \left( \sum_{j=1}^{p} a_j \right) \left(\sigma \circ k_{i-1}^{p-1}\right) \left(\frac{a_2}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)\\
&= \left( \sum_{j=1}^{p} a_j \right) \sigma\left(\frac{a_2}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_{i-1}}{\sum_{j=1}^{p} a_j}, 0, \frac{a_{i+1}}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)
.\end{align}
Let, now, $i = 1$.
Still by definition, the first summand is
\begin{align}
&\hphantom{=} \left( \widetilde{h}_{p+1}(\sigma) \right)^1 (a_1, \ldots, a_p) = \widetilde{h}_{p+1}(\sigma) \circ k_1^p (a_1, \ldots, a_p)\\
&=\ \widetilde{h}_{p+1}(\sigma)(0, a_1, \ldots, a_p)\\
&= \left( \sum_{j=1}^{p} a_j \right) \sigma\left(\frac{a_1}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)
.\end{align}
The second summand, instead, is
\begin{align}
&\hphantom{=} \left( \widetilde{h}_{p}(\sigma^{0}) \right) (a_1, \ldots, a_p) = \widetilde{h}_{p}\left(\sigma \circ k_{0}^{p-1}\right) (a_1, \ldots, a_p)\\
&= \left( \sum_{j=1}^{p} a_j \right) \left(\sigma \circ k_{0}^{p-1}\right) \left(\frac{a_2}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)\\
&= \left( \sum_{j=1}^{p} a_j \right) \sigma\left(\frac{a_1}{\sum_{j=1}^{p} a_j}, \ldots, \frac{a_p}{\sum_{j=1}^{p} a_j} \right)
,\end{align}
where, in the last equality, we used
\begin{equation}
1 - \frac{\sum_{j=2}^{p} a_j}{\sum_{j=1}^{p} a_j} = \frac{\sum_{j=1}^{p} a_j - \sum_{j=2}^{p} a_j}{\sum_{j=1}^{p} a_j} = \frac{a_1}{\sum_{j=1}^{p} a_j}
.\end{equation}
All of the abore terms are equal and, in \eqref{eqn:defn_boundary_hom}, they appear with different sign.
This allows us to simplify the first equality to:
\begin{equation}
\left(\partial \circ \widetilde{h}_{p+1} + \widetilde{h}_p \circ \partial\right)(\sigma) = \left( \widetilde{h}_{p+1}(\sigma) \right)^0
.\end{equation}
Let's compute this last term:
\begin{align}
&\hphantom{=} \left( \widetilde{h}_{p+1} (\sigma) \right)^0 (a_1, \ldots, a_p) = \widetilde{h}_{p+1}(\sigma) \circ k_0^p (a_1, \ldots, a_p)\\
&=\ \widetilde{h}_{p+1}(\sigma) (1 - \sum_{j=1}^{p} a_j, a_1, \ldots, a_p)\\
&= \left( 1 - \sum_{j=1}^{p} a_j + \sum_{j=1}^{p} a_j \right) \sigma \left( a1, \ldots, a_p \right)\\
&= \sigma (a_1, \ldots, a_p)
.\end{align}
We, then, have the desired result!
\end{proof}
\begin{lem}
$d \circ h_{p} + h_{p+1} \circ d = id$.
\end{lem}
\begin{proof}
From lemma \ref{lem:boundary_hom} we know that
\begin{equation}
\partial \circ \widetilde{h}_{p+1} + \widetilde{h}_p \circ \partial = id
.\end{equation}
In order to use this result to prove our statement we are gonna compute the action of $d \circ h_{p} (f) + h_{p+1} \circ d (f)$, for $f \in S^p(U, M)$, on an arbitrary $p$-chain $\sigma$:
\begin{align}
\left( d \circ h_p + h_{p+1} \circ d \right) f(\sigma) &= d \circ h_p f (\sigma) + h_{p+1} \circ d f (\sigma)\\
&= h_p f (\partial \sigma) + d f (\widetilde{h}_{p+1} \sigma) \\
&= f\left(\widetilde{h}_p (\partial \sigma)\right) + f\left(\partial (\widetilde{h}_{p+1} \sigma)\right) \\
&= f \left( \widetilde{h}_p (\partial \sigma) + \partial(\widetilde{h}_{p+1} \sigma) \right) \\
&= f ( \sigma )
.\end{align}
\end{proof}
\begin{rem}
As of this point we have checked everything we needed to in order to say that
\begin{equation}
0 \to K_M \to S^0_K \xrightarrow{d} S^1_K \xrightarrow{d} S^2_K \xrightarrow{d} \ldots
\end{equation}
is a $\Gamma(M;-)$-injective resolution for $K_M$.
In fact it is exact, by the above lemmas, and it is $\Gamma(M;-)$-injective, by \ref{lem:gammainjectives}, since each term is \textit{fine}.
\end{rem}
Our next task is to prove that the cohomology of the global sections of this resolution coincides with the singular cohomolgy on our manifold.
This will be a lengthy construction, for which we'll outline the most interesting parts, leaving the lengthy computations to \cite{warner}.
\begin{prop}\label{prop:PSh_ses}
Let $P \in \mathsf{PSh}\left( k_M \right)$ be a presheaf that satisfies \textbf{S2}.
Ler $S := P^a$ its \textbf{sheafification} and $\left( P(M) \right)_0$ the $K$-module defined by
\begin{equation}
\left( P(M) \right)_0 := \left\{ s \in P(M) \ \middle|\ s_m = 0\ \,\forall\, m \in M \right\}
.\end{equation}
Then the sequence of modules
\begin{equation}
0 \to \left( P(M) \right)_0 \to P(M) \xrightarrow{\theta} S(M) \to 0
\end{equation}
is exact.
\end{prop}
\begin{proof}
We need to check exactness at each point in the sequence.
\begin{itemize}
\item At $\left( P(M) \right)_0$ is clear, since it is a submodule of $P(M)$ and the inclusion map is injective.
\item At $P(M)$ we need to check that $\ker \theta = \left( P(M) \right)_0$.
Let $s \in P(M)$, then
\begin{equation}
s \mapsto \bigg\{ M \xrightarrow{\theta(s)} \coprod_{m \in M} P_m \bigg\}
,\end{equation}
where $\theta(s)(m) = s_m \in P_m$.
It is clear that $s \in \ker \theta$ iff $s_m = 0$ for every $m \in M$, i.e. iff $s \in \left( P(M) \right)_0$.
\item At $S(M)$ we need to check that $\theta$ is surjective.
We will do it explicitly: given $t \in S(M)$ we will construct $s \in P(M)$ s.t. $t = \theta(s)$.
Recall that an element $t$ in $S(M)$ is of the form
\begin{equation}
M \xrightarrow{t} \coprod_{m \in M} P_m \text{ s.t. } t(m) \in P_m \,\forall\, m \in M
\end{equation}
satisfying $ \,\forall\, m \in M\ \exists\, V_m \stackrel{\text{open}}{\subset} M$ with $m \in V_m$ and $ \exists\, s \in P(V_m)$ s.t. $s_x = t(x) \ \forall\, x \in V_m$.
$\left\{ V_m \right\}_{m \in M}$ clearly is an open cover of $M$, which is \textit{paracompact}.
We can extract a \textit{locally finite} open refinement $\left\{ U_\alpha \right\}_{\alpha \in \mathcal{A}}$ in which, for every $\alpha \in \mathcal{A}$, there exists $s_\alpha \in P(U_\alpha)$ s.t. $\theta(s_\alpha) = \left.t\right|_{U_\alpha}$.
Let, now, $\left\{ V_\alpha \right\}_{\alpha \in \mathcal{A}}$ be a refinement s.t. $\overline{V}_\alpha \subset U_\alpha$.
Let $I_m$ be the collection of indeces $\alpha$ for which $m \in \overline{V}_\alpha$ and $W_m$ a neighborhood of $m$ that satisfies:
\begin{itemize}
\item $W_m \cap \overline{V}_\alpha =\emptyset$ if $\alpha \notin I_m$,
\item $W_m \subset \cap_{\alpha \in I_m} U_\alpha$, which is open and nonempty,
\item $\left.s_\alpha\right|_{W_m} = \left.s_\beta\right|_{W_m}$ for any $\alpha, \beta \in I_m$, possible by the definition of stalk and sheafification.
\end{itemize}
Let $s_m \in W_m$ be the common image of the third point.
Consider, now, $n, m \in U$ s.t. $W_m \cap W_n \neq \emptyset$ and $p \in W_m \cap W_n$.
From the first condition we know that $I_p \subset I_n \cap I_m$.
Let $\alpha \in I_p$.
By the third condition we have
\begin{equation}
s_m = \left.s_\alpha\right|_{W_m} \quad \text{ and } \quad \left.s_\alpha\right|_{W_n} = s_n
.\end{equation}
This imples
\begin{equation}
\left.s_m\right|_{W_m \cap W_n} = \left.s_\alpha\right|_{W_m\cap W_n} = \left.s_n\right|_{W_m \cap W_n}
.\end{equation}
We have just constructed a family $\left\{ s_m \right\}_{m \in U}$ of sections of the presheaf that satisfy condition \textbf{S2}.
We can hence patch them together to obtain an element $s \in P(M)$ s.t.
\begin{equation}
\left.s\right|_{W_m} = s_m
\end{equation}
for any $m$.
Then, by definition, $\theta(s) = t$. \qedhere
\end{itemize}
\end{proof}
\begin{thm}\label{thm:iso_cohomologies}
Let $M$ be a \textbf{paracompact} manifold, $K$ a PID, then for every $q \geq 0$
\begin{equation}
H^q_\Delta(M) \simeq H^q \left( S^\bullet_K(M) \right)
.\end{equation}
\end{thm}
\begin{proof}
Recall that
\begin{equation}
H^q_\Delta(M) = H^q(\widetilde{S}_K^\bullet(M))
.\end{equation}
This means that we have to prove
\begin{equation}
H^q(\widetilde{S}_K^\bullet(M))\simeq H^q \left( S^\bullet_K(M)\right)
.\end{equation}
By proposition \ref{prop:PSh_ses}, applied to the \textit{presheaf} $\widetilde{S}^p_K$, we have the following short exact sequence of $K$-modules
\begin{equation}
0 \to (\widetilde{S}^p_K(M))_0 \to \widetilde{S}^p_K(M) \xrightarrow{\theta} S^p_K(M)
,\end{equation}
for any $p \in \N$.
It immediately follows that the associated sequence of complexes
\begin{equation}
0 \to (\widetilde{S}^\bullet_K(M))_0 \to \widetilde{S}^\bullet_K(M) \xrightarrow{\theta^\bullet} S^\bullet_K(M)
\end{equation}
is exact.
As usual, to this exact sequence of complexes we can associate the long cohomology sequence
\begin{equation}
\dots \to H^q\big((\widetilde{S}^\bullet_K(M))_0\big) \to H^q\big(\widetilde{S}^\bullet_K(M)\big) \xrightarrow{\theta^q} H^q \big(S^\bullet_K(M)\big) \xrightarrow{\delta^q} H^{q+1}\big((\widetilde{S}^\bullet_K(M))_0\big) \to \dots
\end{equation}
If we managed to prove that, for every $q$, $H^q \big( (\widetilde{S}^\bullet_K(M))_0 \big) = 0$, then $\theta^q$ would be both mono and epi, hence (we are working in the category of $K$-modules) an iso.
Let's now check it explicitly:
\begin{description}
\item[$\mathbf{q < 0}$:] For $q < 0$ $(\widetilde{S}^q_K(M))_0 = 0$, then also the associated cohomology module is,
\item[$\mathbf{q = 0}$:] Note that, for $q =0$, $\widetilde{S}^0_K$ is actually a sheaf.
In fact singular $0$-simplices in $M$ are just the assignment of a point in $M$.
It follows that a singular $0$-cochain on $M$ is just a function from $M$ to $K$.
If it is determined in an open cover of $M$, then it is uniquely determined, recall that $\widetilde{S}^0_K$ satisfies \textbf{S1}.
This means that any element of $(\widetilde{S}^0_K(M))_0$ is the zero element of $\widetilde{S}^0_K(M)$.
\item[$\mathbf{q>0}$:] We won't explicitly give the whole construction for this case, but we will reference a technical lemma, found in \cite{warner}.
Let $\mathfrak{U} = \left\{ U_i \right\}_{i \in I}$ be an open cover of $M$.
We define $S^\bullet_\mathfrak{U}(M,K)$ to be the set of singular cochains $f$ with values in $K$, defined only on $\mathfrak{U}$-small singular simplices.
We say that a singular simplex is $\mathfrak{U}$-small iff its range is contained in $U_i$ for one $U_i \in \mathfrak{U}$.
Clearly to any element $f \in S^p(M,K)$ one can associate an element in $S^p_\mathfrak{U}(M,K)$ given by the restriction of $f$ to $\mathfrak{U}$-small singular $p$-simplices only.
This association gives rise to a surjective morphism of cochains
\begin{equation}
j_\mathfrak{U}: S^\bullet(M,K) \to S^\bullet_\mathfrak{U}(M,K)
.\end{equation}
Denoting with $K_\mathfrak{U}^\bullet$ the kernel of this morphism, we get a short exact sequence of complexes
\begin{equation}
0\to K^\bullet_\mathfrak{U} \xrightarrow{} S^\bullet(M,K) \xrightarrow{j_\mathfrak{U}} S_\mathfrak{U}^\bullet(M,K) \to 0
.\end{equation}
From this we obtain a corresponding long exact cohomology sequence
\begin{equation}
\dots \to H^q(K^\bullet_\mathfrak{U}) \xrightarrow{i_\mathfrak{U}^q} H^q(S^\bullet(M,K)) \xrightarrow{j_\mathfrak{U}^q}
H^q(S^\bullet_\mathfrak{U}(M,K)) \xrightarrow{\delta^q} H^{q+1}(K^\bullet_\mathfrak{U}) \to \dots
.\end{equation}
We want to prove that the map $j_\mathfrak{U}^q$ induced in the cohomology sequence is an iso for any $q$.
If it were the case, it would follow that, for every $q$
\begin{equation}\label{eqn:0cohomology}
H^q(K^\bullet_\mathfrak{U}) = 0
.\end{equation}
In fact, since $j_\mathfrak{U}^q$ induces an iso, it means that $\ker \delta^q = H^q(S^\bullet(M,K))$ and $\ima \delta^q = 0$.
But $\ima \delta^q = \ker i_\mathfrak{U}^q$, i.e. this last map is a mono.
Analogously it can be proved that $\ima i^q_\mathfrak{U} = 0$, hence that $H^q(K^\bullet_\mathfrak{U}) = 0$.
Following \cite{warner} this statement is proved using the results of lemma \ref{lem:longlemma}, below.
In fact, by \eqref{eqn:surjectivity}, $j_\mathfrak{U}$ induces surjections of the cohomology modules.
By \eqref{eqn:injectivity} $k \circ j_\mathfrak{U}$ induces the identity on cohomology, which means that $j_\mathfrak{U}$ must induce injections.
Putting it all together $j_\mathfrak{U}$ induces isomorphisms.
With this fact we want to prove that $H^q \big((\widetilde{S}^\bullet_K(M))_0\big) = 0$.
Consider $f \in (\widetilde{S}^q_K(M))_0$ s.t. $df = 0$.
By definition of $(\widetilde{S}^q_K(M))_0$ we know that $f_m = 0$ for every $m \in M$, hence that for any $m$ there exist an open neighborhood $U_m$ of $m$ s.t. $f$ maps every singular $q$-chain with range in $U_m$ to $0$.
This means that there exists an open cover $\mathfrak{U}$ of $U$ consisting of sufficiently small sets, for which $f \in K^q_\mathfrak{U}$.
From \eqref{eqn:0cohomology} we know that $\exists\, g \in K^{q-1}_\mathfrak{U} \subset (\widetilde{S}^{q-1}_K(M))_0$ s.t. $f = dg$, i.e.
\begin{equation}
H^q \big((\widetilde{S}^\bullet_K(M))_0\big) = 0
.\end{equation}
\end{description}
\end{proof}
\begin{lem}\label{lem:longlemma}
Let $M$ be a \textbf{paracompact} manifold,
\begin{equation}
j_\mathfrak{U}: S^\bullet(m,K) \to S^\bullet_\mathfrak{U}(M,K)
\end{equation}
be the inclusion map defined in the above proof.
Then there exists a map
\begin{equation}\label{eqn:surjectivity}
k: S^\bullet_\mathfrak{U}(M,K) \to S^\bullet(M,K)
\end{equation}
s.t. $j_\mathfrak{U} \circ k = id$ and homotopy operators $h^p: S^p(M,K) \to S^{p-1}(M,K)$ s.t.
\begin{equation}\label{eqn:injectivity}
h^{p+1} \circ d + d \circ h^p = id - k^p \circ j^p
.\end{equation}
\end{lem}
The proof for this lemma consists in explicitly constructing these maps.
It is rather long and boring.
Also we have used almost the same notation as \cite{warner}, so it can be checked there -- in section 5.32 -- without any issue.
Now, before moving onto the main result of this work, let's define a last concept:
\begin{defn}[Integration of forms over singular simplices]
Let $M$ be a \textit{differentiable manifold}, $\sigma$ a \textit{differentiable} singular $p$-simplex in $U$ and $\omega$ a \textit{continuous} $p$-form also defined on $U \stackrel{\text{open}}{\subset} M$.
\begin{itemize}
\item If $p = 0$ $\sigma$ is just the data of a point, $\sigma(0)$, in $U$ and $\omega$ just a continuous (differentiable) function.
We define the integral of $\omega$ over $\sigma$ to be
\begin{equation}
\int_{\sigma}^{} \omega := \omega(\sigma(0))
.\end{equation}
\item If $p \geq 1$ $\sigma$ extends to a smooth map from a neighborhood of $\Delta^p$ into $U$.
This implies that the pullaback of $\omega$ is defined in a neighborhood of $\Delta^p$.
We can then compute its integral on the $p$-simplex.
From this we define the integral of $\omega$ over $\sigma$ to be
\begin{equation}
\int_{\sigma}^{} \omega := \int_{\Delta^p}^{} \sigma^*(\omega)
.\end{equation}
\end{itemize}
We linearly extend those definitions to chains:
let $c = \sum_{i}^{}a_i \sigma_i$, then
\begin{equation}
\int_{c}^{} \omega := \sum_{i}^{} a_i \int_{\sigma_i}^{} \omega
.\end{equation}
\end{defn}
Let's now state (without proving it) a famous theorem that links the \textit{exterior differential} for forms, with the \textit{boundary operator} for simplices.
\begin{thm}[Stokes' theorem]
Let $M$ be a differentiable manifold, $U \stackrel{\text{open}}{\subset} M$, $c$ a $p$-chain in $U$, with $p \geq 1$, and $\omega$ be a smooth $(p-1)$-form, still defined on $U$.
Then
\begin{equation}
\int_{\partial c}^{} \omega = \int_{c}^{} d\omega
.\end{equation}
\end{thm}
If you are interested in the proof you can find it in \cite[\S 4.7]{warner}.
\begin{rem}
Let us define, for $p \geq 0$, the following homomorphism
\begin{equation}
k^p: \Omega^p(U) \to S^p(U,\R)
\end{equation}
by setting, for $\omega \in \Omega^p(U)$ and $\sigma$ a differentiable singular $p$-simplex,
\begin{equation}
k^p(\omega)(\sigma) := \int_{\sigma}^{} \omega
.\end{equation}
Then \textit{Stokes' theorem} makes this a morphism of complexes
\begin{equation}
k^\bullet: \Omega^\bullet(U) \to \widetilde{S}^\bullet_\R(U)
.\end{equation}
We, in fact, need to check the commutativity of the following diagram
\begin{equation}
\begin{tikzcd}
\Omega^p(U) \arrow[r, "d", rightarrow] \arrow[d, "k^p"', rightarrow] & \Omega^{p+1}(U) \arrow[d, "k^{p+1}", rightarrow] \\
S^p(U,\R) \arrow[r, "d", rightarrow] & S^{p+1}(U,\R)
\end{tikzcd}
,\end{equation}
i.e. that $k^{p+1} \circ d = d \circ k^p$.
Let $\sigma$ and $\omega$ be as above, then
\begin{align}
(d \circ k^p)(\omega) (\sigma) &= k^p(\omega) (\partial\sigma) =
\int_{\partial\sigma}^{} \omega
= \int_{\sigma}^{} d\omega \\
&= k^{p+1}(d\omega) (\sigma) = (k^{p+1} \circ d) (\omega) (\sigma)
.\end{align}
This, in turn, gives a morphism of the respective cohomologies:
\begin{equation}
k^q: H^q(\Omega^\bullet(U)) \to H^q(S^\bullet(U,\R))
,\end{equation}
called the \textit{de Rham homomorphism}.
Moreover, since this family of morphisms clearly commutes with restrictions, it also induces a family of morphisms of \textit{presheaves}:
\begin{equation}
k^p: \Omega^p \to \widetilde{S}^p_\R
.\end{equation}
Which, as before, gives a morphism of complexes of presheaves
\begin{equation}
k^\bullet: \Omega^\bullet \to \widetilde{S}^\bullet_\R
.\end{equation}
\end{rem}
We are finally ready to state and prove our final result:
\begin{thm}[De Rham]
Let $M$ be a \textit{smooth paracompact manifold}.
Then, for every $q$, there exists an isomorphism $H^q_{DR}(M) \simeq H^q_\Delta(M)$.
Moreover this isomorphism is given by integration of forms on singular chains.
\end{thm}
\begin{proof}
When taking the PID $K = \R$ to be the field of real numbers, we have constructed two $\Gamma(M,-)$-injective resolutions for the sheaf of constant functions in $\R$:
\begin{equation}
0 \to \R_M \to \Omega^0 \xrightarrow{d} \Omega^1 \xrightarrow{d} \Omega^2 \xrightarrow{d} \dots
,\end{equation}
and
\begin{equation}
0 \to \R_M \to S^0_\R \xrightarrow{d} S^1_\R \xrightarrow{d} S^2_\R \xrightarrow{d} \dots
.\end{equation}
Moreover we know that $\mathsf{Mod}\left( \R_M \right)$ has enough \textit{injectives} and $\Gamma(M,-)$ is left exact.
It follows that we can compute the $q$-th right derived functor of $\Gamma(M,-)$ by computing the $(q-1)$-th cohomology of these two sequences.
As a consequence we have the following isomorphism
\begin{equation}\label{eqn:cohom_iso_res}
H^q_{DR}(M) \simeq H^q(S^\bullet_\R(M))
.\end{equation}
By theorem \ref{thm:iso_cohomologies} we know that $H^q_\Delta(M) \simeq H^q \left( S^\bullet_\R(M)\right)$, which gives the desired isomorphism
\begin{equation}
H^q_{DR}(M) \simeq H^q_\Delta(M)
.\end{equation}
We are only left to prove that this isomorphism is the above defined \textit{de Rham isomorphism}.
In fact it gives rise to the following morphism of complexes
\begin{equation}
\begin{tikzcd}
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] \arrow[d, "id", rightarrow] & \Omega^0 \arrow[r, "d", rightarrow] \arrow[d, "k^0", rightarrow] & \Omega^1 \arrow[r, "d", rightarrow] \arrow[d, "k^1", rightarrow] & \dots \\
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] & \widetilde{S}^0_\R \arrow[r, "d", rightarrow] & \widetilde{S}^1_\R \arrow[r, "d", rightarrow] & \dots
\end{tikzcd}
.\end{equation}
This, in turn, by \textit{sheafification} becomes
\begin{equation}
\begin{tikzcd}
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] \arrow[d, "id", rightarrow] & \Omega^\bullet \arrow[d, "{(k^\bullet)^a}", rightarrow] \\
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] & S^\bullet_\R
\end{tikzcd}
.\end{equation}
Since both of those are $\Gamma(M,-)$-injective resolutions, $(k^\bullet)^a$ induces a quasi isomorphism, i.e. isomoprhisms at the level of cohomologies, between the following complexes
\begin{equation}
\begin{tikzcd}
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] \arrow[d, "id", rightarrow] & \Omega^0(M) \arrow[r, "d", rightarrow] \arrow[d, "{(k^0)^a}", rightarrow] & \Omega^1(M) \arrow[r, "d", rightarrow] \arrow[d, "{(k^1)^a}", rightarrow] & \dots \\
0 \arrow[r, "", rightarrow] & \R_M \arrow[r, "", rightarrow] & S^0_\R(M) \arrow[r, "d", rightarrow] & S^1_\R(M) \arrow[r, "d", rightarrow] & \dots
\end{tikzcd}
.\end{equation}
Moreover we have proved that $F$-injective resolutions differ by a unique isomorphism, at the level of cohomology, hence the canonical isomorphism in equation \eqref{eqn:cohom_iso_res} corresponds with the one induced by $(k^\bullet)^a$.
This, in turn, means that the following commutative diagram
\begin{equation}
\begin{tikzcd}
\Omega^\bullet(M) \arrow[d, "k^\bullet"', rightarrow] \arrow[rd, "(k^\bullet)^a", rightarrow] & \\
\widetilde{S}^\bullet_\R(M) \arrow[r, "\theta"', rightarrow] & S^\bullet_\R(M)
\end{tikzcd}
,\end{equation}
where $\theta$ is the natural morphism $F \xrightarrow{\theta} F^a$, gives rise to the following commutative diagram of cohomologies
\begin{equation}
\begin{tikzcd}
H^\bullet_{DR}(M) \arrow[d, "k^\bullet"', rightarrow] \arrow[rd, "\sim", rightarrow] & \\
H^\bullet_\Delta(M) \arrow[r, "\sim", rightarrow] & H^\bullet(S^\bullet_\R(M))
\end{tikzcd}
.\end{equation}
Since the other two are isomorphisms, also $k^\bullet$ is.
Moreover it is the canonical (and unique) one, we have found before.
\end{proof}