Trying to understand fundamental group of $SO(3)$ using quaternions. I am a begginer student of Algebraic Topology and I am trying to get my head around the concept of a fundamental group. I believe that I understand the concept for "easier" spaces, such as $S^1.$
Now, my current goal is to understand how the fundamental group of $SO(3)$ is $\mathbb Z_2$, using the double-cover $SU(2)$ and its identification with (unit) quaternions.
I have read several documents about this, but I can't wrap my brain around some things. For example, I know there is a really similar question to this on MSE (here) which actually has an answer - that I am having a hard time going trough. My post is mainly based in the answer I just linked.
First things first - things I understand (more or less)
The answer starts by:

The fact that the sphere $SU(2)$ is a twofold cover of $SO(3)$ can be seen
by viewing $SU(2)$ as the group of unit quaternions, which acts by
conjugation on the real $3$-dimensional space of purely imaginary
quaternions as explained here; the action can be seen to be by
elements of SO(3), and two unit quaternions that have the same action
differ by a factor −1 (call these antipodes of each other).

I can see how the unit quaternions acts by conjugation on the real $3-$dimensional space of purely imaginary quaternions though the mapping $q \to t^{-1}qt,$ where $q$ is some pure quaternion and $t$ is some unit quaternion. It is possible to prove that, for every unit quaternion $t$, the map above is closed in the sense that $t^{-1}qt$ also is a pure quaternion. It is also possible to prove that $t^{-1}qt \in SO(3),$ for every unit quaternion $t$ and for every pure quaternion $q$.
Obviously, unit quaternions and its symmetrics induce the same rotation map since
$$ (-t^{-1})q(-t) = t^{-1}qt,$$
for every pure quaternion $q$ (these are the so-called antipodes). Even more, these are the only two quaternions that induce the same rotations since the representation is unique.
Next,

This fact, together with the fact that SU(2) is connected, shows that
that SO(3) is not simply connected. Indeed, one can take a path from a
unit quaternion to its antipode, and map this path to SO(3) (take the
rotation action defined by each unit quaterion on the path), where it
becomes a loop (in SO(3) its starting and ending point are
identified). This loop cannot be contracted in SO(3): if it could, we
could perform the corresponding deformation to the path in SU(2) as
well, contracting it to a point while keeping the endpoints antipodes
of each other all the time, which is absurd.

Here, things start to get rather visualizing instead of analytic: I understand when the answerer states that taking a path between some quaternion and its antipode, we can map it to $SO(3)$ using the map I defined above and it would become a loop (I have shown that $t$ and $-t$ induce the same rotation, thus they create the same element of $SO(3)$).
I really can't understand the rest of this paragraph: Assume the loop we just formed in $SO(3)$ could be contractible to a point - what is meant by "we could perform the corresponding deformation to the path in $SU(2)$ aswell, contracting it to a point while keeping the endpoints of each other at all time, which is absurd."
What I don't understand (at all)

And $SU(2)$ is simply connected because the set of unit quaternions is
homeomorphic to the $3$-sphere $\{(a,b,c,d)\in \mathbb R^4\colon a^2+b^2+c^2+d^2=1\}$ (the
n-sphere is simply connected for all n>1). Therefore forming a new
loop in SO(3) by going around the one indicated above twice, so that
the result lifts to a loop in SU(2), the new loop can be contracted in
SO(3) (just contract the loop "covering" it in SU(2) to a point, and
project that deformation back to SO(3)). One can conclude from this
that the fundamental group of SO(3) has two elements.

Here, I understand that $SU(2)$ is simply connected. Now there are some things I can't visualize: What is meant by a "loop that goes around the one indicated twice" - is this just a loop like the one defined in the last paragraph but that travels around it twice? How does such a loop lift to a loop in $SU(2)?$
Assuming it lifts to a loop in $SU(2),$ I can see that since it is simply connected this loop can be contractable to a point and thus we can use the rotation induced to project this point back to $SO(3).$ How does this imply that the fundamental group of $SO(3)$ must have only two elements?
 A: In the text below, $p\in SO(3)$ is an arbitrary rotation, and $q$ and $-q$ are the two points in $SU(2)$ that give this rotation $p$.

I really can't understand the rest of this paragraph: Assume the loop we just formed in (3) could be contractible to a point - what is meant by "we could perform the corresponding deformation to the path in (2) aswell, contracting it to a point while keeping the endpoints of each other at all time, which is absurd."

Recall the definition of fundamental group:
$$\pi(SO(3),p)=\{\text{paths in $SO(3)$ that start and end at $p$}\} / \{\text{path-homotopy-equivalence}\}$$
Where two paths $\lambda_0\colon [0,1]\to SO(3)$ and $\lambda_1\colon[0,1]\to SO(3)$ are path-homotopy-equivalent if there is some function (a path-homotopy) $F\colon [0,1]\times[0,1]\to SO(3)$ such that

*

*$F(0,x)=\lambda_0(x)$ for all $x\in[0,1]$,

*$F(1,x)=\lambda_1(x)$ for all $x\in[0,1]$,

*$F(t,0)=p$ for all $t\in[0,1]$,

*$F(t,1)=p$ for all $t\in[0,1]$.

Now suppose that we have two paths $\lambda_0$ and $\lambda_1$ on $SO(3)$. We can then lift those paths to paths on $SU(2)$ to get $\tilde{\lambda_0}\colon[0,1]\to SU(2)$ and $\tilde{\lambda_1}\colon[0,1]\to SU(2)$. Furthermore, if we have a path-homotopy $F\colon [0,1]\times[0,1]\to SO(3)$ between $\lambda_0$ and $\lambda_1$, then general theory about covering spaces tells us that $F$ can also be lifted to a homotopy $\tilde F\colon [0,1]\times[0,1]\to SU(2)$ between $\tilde\lambda_0$ and $\tilde\lambda_1$.
Now comes the problem: if $\tilde\lambda_0(1)=-q$ and $\tilde\lambda_1(1)=q$, the lifted homotopy $\tilde F$ must satisfy:

*

*$F(t,1) = p$ for all $t\in[0,1]$, so $\tilde F(t,1)\in\{q,-q\}$ for all $t\in[0,1]$

*$F(0,1) = \lambda_0(1) = p$, so $\tilde F(0,1) = -q$

*$F(1,1) = \lambda_1(1) = p$, so $\tilde F(0,1) = q$
So $\tilde F(t,1)$ is a continuous function with discrete image that changes values, which is a contradiction. Therefore, these loops $\lambda_0$ and $\lambda_1$ are not path-homotopy-equivalent.
So taking $\lambda_1$ to be the "identity loop", we see that our loop $\lambda_0$ in $SO(3)$ is not the identity of the fundamental group.

What is meant by a "loop that goes around the one indicated twice" - is this just a loop like the one defined in the last paragraph but that travels around it twice? How does such a loop lift to a loop in (2)?

Good question! To answer the first part: Yes, you are correct. Leaves me with explaining how it lifts.
Now let $\lambda_0\colon[0,1]\to SO(3)$ be our path and $\lambda_0^2\colon[0,1]\to SO(3)$ be that loop twice, so $$\lambda_0^2(t)=\begin{cases}\lambda_0\left(2t\right) &t<\frac12\\\lambda_0\left(2t-1\right) &t\geq\frac12\end{cases}$$
Then when we lift $\lambda_0$ to $\tilde\lambda_0$ with $\tilde\lambda_0(0)=q$ and $\tilde\lambda_0(1)=-q$, we have that for $t<\frac12$ we just have $\tilde\lambda_0^2(t)=\tilde\lambda_0(2t)$, but for $t=\frac12$ we have $\tilde\lambda_0^2\left(\frac12\right)=\tilde\lambda_0(1)=-q$, so for $t\geq\frac12$ we follow a lift $\hat\lambda_0$ of $\lambda_0$ with $\hat\lambda_0(0)=-q$.
In fact, this lift is just the antipode of $\tilde\lambda_0$, so we can write
$$\tilde\lambda_0^2(t)=\begin{cases}\tilde\lambda_0\left(2t\right) &t<\frac12\\ -\tilde\lambda_0\left(2t-1\right) &t\geq\frac12\end{cases}$$

How does this imply that the fundamental group of (3) must have only two elements?

Suppose you have any loop $\lambda\colon [0,1]\to SO(3)$ with $\lambda(0)=\lambda(1)=p$. Then this loop will lift uniquely to a loop $\tilde\lambda$ on $SU(2)$ with $\tilde\lambda(0)=q$. Now there are two possibilities: $\tilde\lambda(1)=q$, or $\tilde\lambda(1)=-q$. In the first case, $\tilde\lambda$ is a loop, and we can contract this loop on $SU(2)$. Projecting this contraction down, we see that $\lambda$ is path-homotopy-equivalent to the "identity loop" on $SO(3)$.
In the other case, we see that $\lambda$ is not the identity. However, if you have another path $\lambda'\colon[0,1]\to SO(3)$ that lifts to $\tilde\lambda'$ with $\tilde\lambda'(0)=q$ and $\tilde\lambda'(1)=-q$, then the concatenation $\lambda\oplus\lambda'$ lifts to $\tilde\lambda\oplus(-\tilde\lambda')$, which is a loop on $SU(2)$ and therefore path-homotopy-equivalent to the identity.
Hope this answers your questions.
EDIT:

The original answer talks about a single path that connects  to its antipodal, −. In your answer, you defined two paths $\tilde\lambda_0$ and $\tilde\lambda_1$ such that $\tilde\lambda_0(1)=-q$ and $\tilde\lambda_1(1)=q$ - why can you do this freely?

Taking two paths instead of one is slightly more general. You get the original statement by letting $\lambda_1$ be the "identity loop", i.e. $\lambda_1(x)=p$ for all $x\in[0,1]$

Besides this, how are you certain that there exists a homotopy in (3) that can be lifted to a homotopy that connects with your defined paths, $\tilde\lambda_0$ and $\tilde\lambda_0$?

This is a general result about covering maps:
When $f\colon K\to X$ is a map from a contractible space $K$ to $X$, and there is a covering map $p\colon Y\twoheadrightarrow X$, then this map $f$ has a lift $\tilde f\colon K\to Y$ such that $f=p\circ\tilde f$.
It is the same theorem as the one we use to assume that paths have lifts.
I think you can find these results in the Algebraic Topology book you are using?
