I want to point out why fundamental groups are defined for loops, and not path homotopy classes. This is something that Munkres’ Topology does not do a good job of explaining.
Munkres says that we cannot define groups on path homotopy classes because for some pair and
,
may not be defined. This is because it is possible that
.
This seems like a bit of an arbitrary requirement to me. Although one can clearly see the benefits of defining only when
, this can be worked around. For starters, if the path homotopy class between
and
is
, one could define
as
. Obviously this would require the axiom of choice if there are multiple path homotopy classes between
and
, but I still think this can be worked around.
The reason why fundamental groups are defined for loops is that there is a unique identity and inverse for every element (path homotopy class). For example, if is a path from
to
, then
. Clearly
. However for a loop, the identity is unique- namely
, where
is the point where the oop starts and ends.
The same argument works for inverses.