Skip to content

Commit c9af28b

Browse files
committed
definition of cohomology groups
Signed-off-by: Ali Caglayan <alizter@gmail.com> <!-- ps-id: 576d0fe0-7342-497e-bd1e-e42b31c19ba8 -->
1 parent 6dae88b commit c9af28b

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

theories/Homotopy/Cohomology.v

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
Require Import Basics Types Pointed WildCat.Core WildCat.Equiv.
2+
Require Import Truncations.Core.
3+
Require Import Homotopy.EMSpace.
4+
Require Import Homotopy.HSpace.Core Homotopy.HSpace.Pointwise Homotopy.HSpace.HGroup Homotopy.HSpace.Coherent.
5+
Require Import Algebra.AbGroups.AbelianGroup.
6+
Require Import Homotopy.Suspension.
7+
Require Import Spheres HomotopyGroup.
8+
9+
Local Open Scope pointed_scope.
10+
11+
(** * Cohomology groups *)
12+
13+
(** Reduced cohomology groups are defined as the homotopy classes of pointed maps from the space to an Eilenberg-MacLane space. The group structure comes from the H-space structure on [K(G, n)]. *)
14+
Definition Cohomology `{Univalence} (n : nat) (X : pType) (G : AbGroup) : AbGroup.
15+
Proof.
16+
snrapply Build_AbGroup'.
17+
1: exact (Tr 0 (X ->** K(G, n))).
18+
1-3: shelve.
19+
nrapply isabgroup_ishabgroup_tr.
20+
nrapply ishabgroup_hspace_pmap.
21+
apply iscohhabgroup_em.
22+
Defined.
23+
24+
(** ** Cohomology of suspension *)
25+
26+
(** The (n+1)th cohomology of a suspension is the nth cohomology of the original space. *)
27+
(* TODO: show this preserves the operation somehow and is therefore a group iso *)
28+
Definition cohomology_susp `{Univalence} n (X : pType) G
29+
: Cohomology n.+1 (psusp X) G <~> Cohomology n X G.
30+
Proof.
31+
apply Trunc_functor_equiv.
32+
nrefine (_ oE (loop_susp_adjoint _ _)).
33+
rapply pequiv_pequiv_postcompose.
34+
symmetry.
35+
apply pequiv_loops_em_em.
36+
Defined.
37+
38+
(** ** Cohomology of spheres *)
39+
40+
(* TODO: improve this to a group isomorphism once cohomology can be easily checked to be op preserving. *)
41+
Definition cohomology_sn `{Univalence} (n : nat) (G : AbGroup)
42+
: Cohomology n.+1 (psphere n.+1) G <~> G.
43+
Proof.
44+
nrefine (_ oE (equiv_tr 0 _)^-1).
45+
1: refine ?[goal1].
46+
2: { rapply istrunc_equiv_istrunc. symmetry. apply ?goal1. }
47+
nrefine (_ oE pmap_from_psphere_iterated_loops _ _).
48+
symmetry.
49+
rapply pequiv_loops_em_g.
50+
Defined.
51+

0 commit comments

Comments
 (0)