Require Import Basics.
Require Import HIT.Suspension.
Require Import HIT.Truncations.
Require Import Spectra.Spectrum.
Structure AbGroup :=
{
gset :> Set;
id : gset;
op : gset -> gset -> gset;
inv : gset -> gset;
op_assoc : forall (x y z : gset), op x (op y z) = op (op x y) z;
op_inv : forall (x : gset), (id = op (inv x) x) * (id = op x (inv x));
op_comm : forall (x y : gset), op x y = op y x
}.
(* * First we define the higher inductive type K(G,1)
We would wish for it to be defined as *
Inductive EM (G : AbGroup) :=
| base : EM G
| loop : G -> (base = base)
| loop-ident : loop e = refl
| loop-comp : forall (x y : G), loop (G.op x y) = (loop y) o (loop x)
*)
Axiom EM : AbGroup -> Type.
Context {abG : AbGroup}.
Axiom base : EM abG.
Axiom loop : abG -> (base = base).
Context {e : abG}.
Axiom loop_ident : loop e = idpath.
Axiom loop_comp : forall (x y : abG), loop(op abG x y) = (loop y) @ (loop x).
(** Iterated suspension Σ^(n-1) **)
Fixpoint itSusp (n : nat) (a : Type) : Type :=
match n with
| O%nat => a
| S n' => Susp (itSusp n' a)
end.
(** Definition of K(G,n)
K(G,n) := || Σ^(n-1) K(G,1) ||_n **)
Definition EM_Space (G : AbGroup) (n : nat)
:= match n return Type with
| 0%nat => gset G
| S n' => Trunc (S n') (itSusp n' (EM G))
end.
(**TODO:
- Use correct Group type
- Use fundamental group type if given
**)
(** Now we prove that π_1(K(G,1)) isIsoTo G.
π_1(A) := || ΩA ||_0
Proof from Licata and Finster and is long.
**)
Theorem pi_1_EM_Space_G_1_isoTo_G := ??.
--
You received this message because you are subscribed to the Google Groups "HoTT Cafe" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hott-cafe+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.