Definition 2.1 Let X be a space and let x0∈X be an element in that space. We call a path in X that begins and ends at x0 a loop based at x0. The set of path homotopy classes of loops based at x0, with operation ∗ is called the fundamental group or first homotopy group of X relative to the base point x0.
We denote this group with the notation π1(X,x0)
We can easily verify that the fundamental group is indeed a group:
Closure: Let f and g be two loops based at x0. Their concatenation will also be a loop based at x0.
Associativity: We proved that the operation ∗ is associative in the l\ast section.
Identity: If f is a loop based at x0, its inverse will be f̃ will be the loop traveling the path of f in the opposite direction.
Inverse: the trivial loop ex0 which is equal to x0 for all t is the identity element for this group.
Definition 2.2 Let α be a path in X from x0 to x1. We define the map
α̂ :π1(X,x0)⟶π1(X,x1)by the equation
α̂ ([f])=[α̃ ]∗[f]∗[α]
Below is an example of what the resulting loop may look like. a and ã are drawn separated for visual clarity. In reality they would follow the same curve

Theorem 2.3 The map α̂ is a group isomorphism.
Proof: First, we will show that α̂ is a homomorphism. By the previous definition, we have
α̂ [f]∗α̂ [g]=([α̃ ]∗[f]∗[α])∗([α̃ ]∗[g]∗[α])
=[α̃ ]∗[f]∗[g]∗[α]=α̂ ([f]∗[g])Therefore, the map α̂ is an homomorphism.
Next, we need to prove that α̂ is bijective. To show this, we will will show that there exists an inverse function of α̂ given by
β̂ :π1(X,x1)⟶π1(X,x2)such that for all [f]∈π1(X,x0) we have
β̂ (α̂ [f])=[f]and for all [h]∈π1(X,x1)
α̂ (β̂ [h])=[h]To find this inverse, let β=α̃ be a path from x1 to x0. Then,
β̂ ([h])=[β̃ ]∗[h]∗[β]=[α]∗[h]∗[α̃ ]is the inverse of α̂
Thus for all [h]∈π1(X,x1) we have
α̂ (β̂ [h])=α̂ ([β̃ ]∗[h]∗[β])
=α̂ ([α]∗[h]∗[α̃ ])
=[α̃ ]∗[α]∗[h]∗[α̃ ]∗[α]
=[h]By the same argument we have that for all [f]∈π1(X,x0)
β̂ (α̂ [f])=[f]Therefore, the map α̂ is a group isomorphism.
Corollary 2.4 If X is path connected and x0,x1∈X, then
π1(X,x0)≃π1(X,x1)
Definition 2.5 A space X is said to be simply connected if it the following two conditions hold:
I. X is path connected
II. Every loop based at x0 can be continuously transformed into a single point.
In other words, condition II states every loop must be homotopic to the constant loop ex0. We denote this as
π1(X,x0)=0or by referring to π1(X,x0) as the trivial group.

Lemma 2.6 Let X be a simply connected space. Any two paths in X which share the same initial and final points are path homotopic.
Proof: Let α and γ be two paths from x0 to x1. Then, α∗γ̃ is defined and is a loop on X based at x0.
Since X is simply connected, this loop is path homotopic to the constant loop at x0. This means that
[α∗γ̃ ]=[ex0]which implies
[α]=[γ]
Definition 2.7 Let
h:(X,x0)⟶(Y,y0)be a continuous map that maps space X to space Y, and specifically the point x0∈X to y0∈Y.
We define the function
h∗:π1(X,x0)⟶π1(Y,y0)by the equation
h∗([f])=[h∘f]where [f]∈π1(X,x0).
Below is an example of what h∗([f]) may look like.

Theorem 2.8 h∗ is a homomorphism.
Proof: First we must verify that h∗ is well defined on path homotopy classes. In other words, if we swap f with another loop f′ in the same homotopy class, we should get that h∘f≃ph∘f′. This will guarantee that we get the same answer no matter what representative of [f] we choose. This isn’t too difficult to demonstrate:
Let F be a path homotopy between the paths f and f′. Then, h∘F is a path homotopy between h∘f and h∘f′, giving us [h∘f]=]h∘f′].
Now, to show that h∗ is a homomorphism, consider the equation:
h∗([f]∗[g])=h∗([f∗g])
=[h∘(f∗g)]=[(h∘f)∗(h∘g)]
=[h∘f]∗[h∘g]=h∗([f])∗h∗([g])Therefore, h∗ is a homomorphism. Now it makes sense to give h∗ its proper name:
Definition 2.7.2. The map h∗ is called the homomorphism induced byh, relative to the base point x0.
Now, to prove some properties of h∗.
Theorem 2.9 This theorem has two parts.
a. If
h:(X,x0)⟶(Y,y0)and
k:(X,x0)⟶(Y,y0)are both continuous maps, then
(k∘h)∗=k∗∘h∗ b. If
i:(X,x0)⟶(X,x0)is the identity map, then
i∗:π1(X,x0)⟶π1(X,x0)is the identity homomorphism.
Proof: Both parts follow directly from the definition of h∗. a. Given k and h as defined above, we have
(k∘h)∗([f])=[(k∘h)∘f]=[k∘h∘f]and
(k∗∘h∗)([f])=k∗([h∘f])=[k∘(h∘f)]=[k∘h∘f]Therefore, (k∘h)∗=k∗∘h∗.
b. If we let i be the identity map then
i∗([f])=[i∘f]=[f]
Corollary 2.10 If
h:(X,x0)⟶(Y,y0)is a homomorphism of X and Y, then h∗ is an isomorphism of π1(X,x0) and π1(Y,y0).
Proof: We already know that h∗ is a homomorphism, so we just need to show that it is bijective.
Let
k:(Y,y0)⟶(X,x0)be the inverse of h. Then,
k∗∘h∗=(k∘h)∗=i∗where i the identity map
i:(X,x0)⟶(X,x0)and
h∗∘k∗=(h∘k)∗=j∗where j the identity map
j:(Y,y0)⟶(Y,y0)We know from the previous theorem that i∗ and j∗ are the identity homomorphisms of π1(X,x0) and π1(Y,y0) respectively. Therefore, k∗ is the inverse of h∗, and h∗ is an isomorphism.
Problem 2.1 A subset A⊆ℝn is said to be star convex if, for some point a0∈A, all line segments joining a0 to other points in A lie entirely in A.
a. Find a star convex set that is not convex
b. Show that if A is star convex, it is simply connected.
Proof: a. To find a star convex set that is not convex, look no further than the namesake:

b. To show that A is simply connected, we first must show it is path connected. Let x0,x1∈A and define the line segments from a0 to x0 and x1 by
f(t)=(1−t)x0+ta0,g(t)=(1−t)a0+tx1where 0≤t≤1. Since we have
f(0)=x0,f(1)=g(0)=a0,g(1)=x1the product h=f∗g will be a path from x0 to x1 contained entirely within A.
Now we need to show that π1(A,a0) is the trivial group. Let γ be a loop based at a0 in A. We can define the straight line path homotopy
F(s,t)=γ(s)(1−t)+ta0which, by the definition of star convex, must be continuous in A. Thus, γ≃pa0, meaning that π1(A,a0) is the trivial group.
Therefore, A is simply connected.
Problem 2.2 Let α be a path in X from x0 to x1 and let β be a path in X from x1 to x2. Show that if
γ=α∗βthen
γ̂ =β̂ ∘α̂
Proof: By Definition ref{hat},
γ̂ ([f])=[γ̃ ]∗[f]∗[γ]
=[α∗β˜]∗[f]∗[α∗β]
=[β̃ ]∗[α̃ ]∗[f]∗[α]∗[β]
=[β̃ ]∗α̂ [f]∗[β]
=(β̂ ∘α̂ )[f]Therefore
γ̂ =β̂ ∘α̂
Problem 2.3 Let x0 and x1 be points in path connected space X, Show that π1(X,x0) is abelian if and only if for every pair of paths α and β from x0 to x1, α̂ =β̂ .
Proof (⇒) Let π1(X,x0) be an abelian group. Remember that a group is abelian if its operation is commutative. In our case, if [f] and [g] are homotopy classes of loops based at x0, we have that
[f]∗[g]=[g]∗[f]Now consider the two homotopies
α̂ ([f])=[α̃ ]∗[f]∗[α]and
β̂ ([f])=[β̃ ]∗[f]∗[β]and take
(β̃ ̂ ∘α̂ )[f]If α̂ =β̂ , then β̃ ̂ and α̂ should be inverses and this expression should be equal [f]. We can show that this is true by expanding the expression and then using commutativity.
(β̃ ̂ ∘α̂ )[f]=β̃ ̂ ([α̃ ]∗[f]∗[α])
[β]∗[α̃ ]∗[f]∗[α]∗[β̃ ]Since π1(X,x0) is abelian and [f], ([β]∗[α̃ ]), and ([α]∗[β̃ ]) are all elements in π1(X,x0), this is equal to
[f]∗[β]∗[α̃ ]∗[α]∗[β̃ ]
=[f]∗[β]∗[ex0]∗[β̃ ]
=[f]∗[β]∗[β̃ ]
=[f]∗[ex0]
=[f]Therefore, α̂ =β̂ .
(⇐) Now, assume that for every pair of paths α and β from x0 to x1, α̂ =β̂ , and let f and g be two loops based at x0. We will choose α and β in a way that wll help us prove commutativity.
Let γ be any path from x0 to x1 and let α and β be the paths
α=f∗γ,β=g∗γThese are both paths from x0 to x1 and therefore
α̂ =β̂
⇒[α̃ ]∗[f]∗[α]=[β̃ ]∗[f]∗[β]
⇒[γ̃ ]∗[f̃ ]∗[f]∗[f]∗[γ]=[γ̃ ]∗[g̃ ]∗[f]∗[g]∗[γ]Since [f̃ ]∗[f]∗[f]=[ex0]∗[f]=f, this implies that
[f]=[g̃ ]∗[f]∗[g]
⇒[g]∗[f]=[f]∗[g]Therefore, π1(X,x0) is abelian.
Problem 2.4 Let A⊂X and let
r:X⟶Abe a continuous map such that
r(a)=a∀ainAIf a0∈A, show that
r∗:π1(X,a0)⟶π1(A,a0)is surjective.
Proof: To show that r∗ is surjective, we need to show that every [g]∈π1(A,a0), there exists a [f]∈π1(X,a0) such that r∗([f])=[g].
Now it should make sense why this would be true. Since A⊂X, π1(A,a0)⊂π1(X,a0), restricting the domain of r∗ to π1(A,a0) will take every element and map it to itself.
However, to be a bit more rigorous we will show that we can define an inverse function that we use as our [f] which will guarantee that every [g]∈π1(A,a0) is accounted for.
Let
j:A⟶Xbe the inclusion map
j(a)=a∀a∈Awith induced homomorphism
j∗:π1(A,a0)⟶π1(X,a0)Now, to show that r and j, and by extension r∗ and j∗ are indeed inverses of each other, observe that for a∈A, we have
(r∘j)(a)=r(j(a))=r(a)=a
⇒r∘j=iwhere i is the identity map. Therefore, by theorem ref{identity}, we have that
(r∘j)∗=r∗∘j∗=i∗where i∗ is the identity homomorphism
i∗:π1(A,a0)⟶π1(A,a0)So if we let [f]=j∗[(g]), we have
r∗([f])=r∗(j∗([g]))=i∗([g])=[g]Therefore, r∗ is surjective.
Problem 2.5 A trivial homomorphism is a homomorphism
ϕ:X⟶Ybetween two groups that maps every element in X to the identity element in Y.
Let A be a subspace of ℝn, and let
h:(A,a0)⟶(Y,y0)Show that if h is extendable to a continuous map of ℝn into Y, then h∗ is the trivial homomorphism.
Proof: Let H be an extension of h on ℝn. The homomorphism induced by H is given by
H∗:π1(ℝn,a0)⟶π1(Y,y0)Since ℝn is simply connected, π1(ℝn,a0)=0. This means that the domain of H∗ is only [x0], which by definition gets mapped to [y0].
Now, since h is just H restricted to A, h∗ must also map only to [y0], which is the identity element of π1(Y,y0).
To be more rigorous, if we define j:A⟶ℝn to be inclusion map as defined in Problem 4, we get the following diagram.

Therefore we have that
h(a)=(H∘j)(a)
⇒h∗=H∗∘j∗
h∗(π1(A,a0))=(H∗∘j∗)(π1(A,a0))
=H∗(π1(ℝn,a0))=[y0]Therefore, h∗ is a trivial homomorphism.
Problem 2.6 Show that if X is path connected, the homomorphism induced by a continuous map is independent of base point up to isomorphisms of the group involved.
More precisely, let
h:X⟶Ybe continuous with
h(x0)=y0,h(x1)=y1and define two homomorphisms with different base points, both induced by h
hx0:π1(X,x0)⟶π1(Y,y0)and
hx1:π1(X,x1)⟶π1(Y,y1)Let α be a path from x0 to x1 and let β=h∘α.
Show that
β̂ ∘(hx0)∗=(hx1)∗∘α̂ In other words, show that the diagram below commutes

>
and therefore hx0 and hx1 must be isomorphic.
Proof: Despite the lengthy setup, this proof comes directly from applying definitions ref{hat} and ref{star. By proving
β̂ ∘(hx0)∗=(hx1)∗∘α̂ we will show that this is the required isomorphism between hx0 and hx1.
Let f∈π1(X,x0) and observe that:
[(hx1)∗∘α̂ ]([f])
=(hx1)∗([α̃ ]∗[f]∗[α])
=[h∘α̃ ]∗[h∘f]∗[h∘α]
=[β̃ ]∗[h∘f]∗[β]
=β̂ ∘([h∘f])
=β̂ ∘((hx0)∗([f]))
=[β̂ ∘(hx0)∗]([f])Below are two graphs that visualize [(hx1)∗∘,α̂ ]([f]) and [β̂ ∘(hx0)∗]([f]) respectively.
Note that both start at x0 and end at y1

Hence, hx0 and hx1 are equivalent up to isomorphism.
Problem 2.7 Let A be a topological group with operation ⋅ and identity element x0. Let Ω(A,x0) denote the set of all loops in A based at x0.
Let f,g∈Ω(A,x0) and define the loop (f⊗g)(s) by
(f⊗g)(s)=f(s)⋅g(s)where 0≤s≤1. Show that:
a. Ω(A,x0) is a group with operation ⊗
b. ⊗ induces a group operation on π1(A,x0)
c. the group operations ∗ and ⊗ on π1(A,x0) are the same
d. π1(A,x0) is abelian
Proof:
a. For this proof, we will make use of fact that ⋅ is the group operation for A and therefore must satisfy each of the following properties for all elements in A.
Closure: (f⊗g)(s)=f(s)⋅g(s) is a loop by definition, which is contained entirely in A since f(s),g(s)inA.
We also know that f(0)=g(0)=f(1)=g(1)=x0, which is the identity element of A. Therefore we have that
(f⊗g)(0)=f(0)⋅g(0)=x0⋅x0=x0and
(f⊗g)(1)=f(1)⋅g(1)=x0⋅x0=x0Thus, (f⊗g)(s)∈Ω(A,x0).
Associativity: Letting f,g,h∈Ω(A,x0), we have:
[f⊗(h⊗g)](s)=f(s)⋅(h⊗g)(s)
=f(s)⋅(h(s)⋅g(s))=(f(s)⋅h(s))⋅g(s)
=[(f⊗h)⊗g](s)Identity: Define the trivial loop
ex0(s)=x0∀s∈[0,1]We have that ex0∈Ω(A,x0) and we can demonstrate that it serves as the identity element:
(f⊗ex0)(s)=f(s)⋅ex0(s)=f(s)⋅x0=f(s)
(ex0⊗f)(s)=ex0(s)⋅f(s)=x0⋅f(s)=f(s)Inverse: Let f∈Ω(A,x0) and consider f−1 defined by f−1(s)=(f(s))−1, or the inverse of f(s) in A.
Then, f−1 is continuous and
f−1(0)=f−1(1)=(f(0))−1=(f(1))−1=x−10=x0Now, applying the operation ⊗,
(f⊗f−1)(s)=f(s)⋅f−1(s)=f(s)⋅(f(s))−1=x0
⇒f⊗f−1=ex0(f−1⊗f)(s) will give the same result, verifying that f−1 is the inverse of f.
b. Define the group operation
[f]⊗[g]=[f⊗g]We must show that this operation is well-defined when applied to homotopy classes. In other words, if f≃f′ and g≃g′, then it must be true that
f⊗g≃pf′⊗g′First, we will define the path homotopies F between f and f′, and G between g and g′. These are given by
F:I×I⟶Asuch that
F(s,0)=f(s),F(s,1)=f′(s)
F(0,t)=F(1,t)=x0and
G:I×I⟶Asuch that
G(s,0)=g(s),G(s,1)=g′(s)
G(0,t)=G(1,t)=x0Now we can define a path homotopy between f⊗g and f′⊗g′. Define
H:I×I⟶Aby
H(s,t)=F(s,t)⋅G(s,t)Now we have
H(s,0)=F(s,0)⋅G(s,0)=f(s)⋅g(s)=(f⊗g)(s)
H(s,1)=F(s,1)⋅G(s,1)=f(s)⋅g(s)=(f′⊗g′)(s)and
H(0,t)=F(0,t)⋅G(0,t)=x0⋅x0=x0
H(1,t)=F(1,t)⋅G(1,t)=x0⋅x0=x0which verifies that H is a path homotopy between (f⊗g) and (f′⊗g′).
Therefore f⊗g≃pf′⊗g′ and
[f]⊗[g]=[f⊗g]=[f′⊗g′]=[f′]⊗[g′]is well-defined.
c. Using the trivial loop ex0, we can rewrite f⊗g as
(f⊗g)(s)=((f∗ex0)⊗(ex0∗g))(s)Looking more closely at each term ,we see that
(f∗ex0)(s)={f(2s)ex0(2s−1)s∈[0,12]s∈[12,1]
={f(2s)x0s∈[0,12]s∈[12,1]and
(ex0∗g)(s)={ex0(2s)g(2s−1)s∈[0,12]s∈[12,1]
={x0g(2s−1)s∈[0,12]s∈[12,1]Combining the two, we get:
(f⊗g)(s)=((f∗ex0)⊗(ex0∗g))(s)={f(2s)⋅x0x0⋅g(2s−1)s∈[0,12]s∈[12,1]
={f(2s)g(2s−1)s∈[0,12]s∈[12,1]=(f∗g)(s)Therefore
f⊗g=f∗g
d. Using our result from part c, we have
(f⊗g)(s)=((f∗ex0)⊗(ex0∗g))(s)
={f(2s)⋅x0x0⋅g(2s−1)s∈[0,12]s∈[12,1]Since x0 is the identity element, this is equal to
={x0⋅f(2s)g(2s−1)⋅x0s∈[0,12]s∈[12,1]What happens if we change the order of terms like this? Now we have
(ex0∗f)(s)={x0f(2s−1)s∈[0,12]s∈[12,1]and
(g∗ex0)(s)={g(2s)x0s∈[0,12]s∈[12,1]So
{x0⋅f(2s)g(2s−1)⋅x0s∈[0,12]s∈[12,1]
=((ex0∗g)⊗(f∗ex0))(s)
=(g⊗f)(s)Therefore, f⊗g=g⊗f, and π1(A,x0) with operation ⊗ is abelian.