Show that $X$ is simply connected iff any two paths in $X$ with the same initial and terminal points are path-homotopic 
Let $X$ be a path connected space. Show that $X$ is simply connected iff any two paths in $X$ with the same initial and terminal points are path-homotopic

Recall $X$ simply connected means $\pi_1(X, p) = \{[c_p]\}$, and $X$ is path-connected.
My Proof : Suppose $X$ is simply connected, and let $f, g$ be two paths in $X$ with initial point $p$, and terminal point $q$, then $f \cdot \bar{g} \sim c_p$, let $G$ denote this homotopy, i.e $G: f \cdot \bar{g} \sim c_p$
Define $H(s, t) = G(s, t) \cdot g$, which can be easily verified is a path homotopy between $f$ and $g$
Conversely suppose any two paths in $X$ with the same initial and terminal points, are path-homotopic. Let $h$ be any loop at a point $p \in X$, pick a point $q = h(a)$ for some $a \in [0, 1]$, then $f =h|_{[0, a]}$, and $g =\overline{h|_{[a, 1]}}$ are two paths  with the same initial and terminal points, hence $f$ is path homotopic to $g$ and therefore $f \cdot  \bar{g}$ is homotopic to $c_p$, and $f \cdot \bar{g} = h$, therefore $h \sim c_p$, and $\pi_1(X)$ is trivial. $\square$

Is this proof satisfactory and rigorous enough? Any comments on my proof writing skills are also greatly appreciated.

Strictly speaking $G\cdot g$ gives you a path homotopy between $g$ and $f\cdot \overline{g}\cdot g$.
It is clear that you can then collapse $\overline{g}\cdot g$ with a further homotopy, but maybe it is worth adding (!?)
In the converse direction you are implicitly using the same idea. $f\cdot \overline{g}$ homotopies to $f\cdot \overline{f}$ (or to $\overline{g}\cdot g$) and that lets you collapse the latter to the constant path based on $p$.
