Galois Groups are isomorphic to subgroups of symmetric groups. I am currently working through Joseph Rotman's book "Galois Theory" and am trying to prove the following theorem.

If $f(x) \in F[x]$ has $n$ distinct roots in its splitting field $E$, then $\operatorname{Gal}(E/F)$ is isomorphic to a subgroup of the symmetric group $S_n$, thus its order is a divisor of $n!$.

I have struggled to understand the proof in the book and have therefore tried to write my own proof of this fact, I have found some questions close to this on this site, but haven't been able to find exactly what I'm looking for.
My proof (so far) is as follows:
Proof:
Let $X = \{\alpha_1, ... , \alpha_n \}$ be the set of roots of $f(x)$, as $E$ is the splitting field of $f$, it may be written as $E = F(\alpha_1, ... , \alpha_n)$ and noting that $\alpha_i \neq \alpha_j$ for $i\neq j$. Let $\sigma \in \operatorname{Gal}(E/F)$ then $\sigma(X) = X$ (a result from an earlier lemma). Now I would like to construct an injective homomorphism from $\operatorname{Gal}(E/F)$ to $S_n$, my guess is the map which sends $\sigma$ to its restriction in $X$, which I shall denote by $\sigma_X$. Let $g$ be this map, then it is clear that $g$ is a homomorphism.
Now I try to show that $g$ is injective, consider $\sigma, \phi \in \operatorname{Gal}(E/F)$ where $\sigma \neq \phi$, both of these functions are F-automorphisms of $E/F$, so they "fix" $F$, then we can conclude that $\sigma$ and $\phi$ can be different if and only if they act differently on $X$, which in the language of mathematics is precisely $\sigma \neq \phi \Leftrightarrow \sigma_X \neq \phi_X$. This is the definition of an injective function.
This means that $\left|\operatorname{Gal}(E/F)\right| \leq |S_n| = n!$, however due to having constructed a homomorphism, we have mapped a group  to another group, hence we have mapped $\operatorname{Gal}(E/F)$ to a subgroup of $S_n$, whose order divides $|S_n|$ and therefore $\left|\operatorname{Gal}(E/F)\right|$ divides $n!$, completing the proof.
Question
I am wondering whether my proof for this is correct, I think that it is mostly there, with the statement

we can conclude that $\sigma$ and $\phi$ can be different if and only if they act differently on X

perhaps being the only issue.
 A: Assume $\sigma_X = \varphi_X$, i.e. $\forall i, \sigma(\alpha_i) = \varphi(\alpha_i)$. We shall show that $\sigma = \varphi$, i.e. $\forall x \in E, \sigma(x) = \varphi(x)$.
Now note that $E = F(\alpha_1, \cdots, \alpha_n)$, and every $\alpha_i$ is algebraic over $F$, so every $x \in E$ can be expressed as a polynomial in $(\alpha_i)_{i=1}^n$ with coefficients in $F$, say $x = \sum f_j \alpha_{1}^{v_{j1}} \alpha_{2}^{v_{j2}} \cdots \alpha_{n}^{v_{jn}}$. Then:
$$\begin{array}{rcll}
\sigma(x) &=& \sigma \left( \sum f_j \alpha_{1}^{v_{j1}} \alpha_{2}^{v_{j2}} \cdots \alpha_{n}^{v_{jn}} \right) \\
&=& \sum  \sigma \left( f_j \alpha_{1}^{v_{j1}} \alpha_{2}^{v_{j2}} \cdots \alpha_{n}^{v_{jn}} \right) & \text {$\sigma$ preserves addition} \\
&=& \sum  \sigma \left( f_j \right) \sigma \left( \alpha_{1} \right)^{v_{j1}} \sigma \left( \alpha_{2} \right)^{v_{j2}} \cdots \sigma \left( \alpha_{n} \right)^{v_{jn}} & \text {$\sigma$ preserves multiplication} \\
&=& \sum  f_j \sigma \left( \alpha_{1} \right)^{v_{j1}} \sigma \left( \alpha_{2} \right)^{v_{j2}} \cdots \sigma \left( \alpha_{n} \right)^{v_{jn}} & \text {$\sigma$ fixes $F$} \\
&=& \sum  f_j \varphi \left( \alpha_{1} \right)^{v_{j1}} \varphi \left( \alpha_{2} \right)^{v_{j2}} \cdots \varphi \left( \alpha_{n} \right)^{v_{jn}} & \forall i, \sigma(\alpha_i) = \varphi(\alpha_i) \\
&=& \sum  \varphi \left( f_j \right) \varphi \left( \alpha_{1} \right)^{v_{j1}} \varphi \left( \alpha_{2} \right)^{v_{j2}} \cdots \varphi \left( \alpha_{n} \right)^{v_{jn}} & \text {$\varphi$ fixes $F$} \\
&=& \sum  \varphi \left( f_j \alpha_{1}^{v_{j1}} \alpha_{2}^{v_{j2}} \cdots \alpha_{n}^{v_{jn}} \right) & \text {$\varphi$ preserves multiplication} \\
&=& \varphi \left( \sum f_j \alpha_{1}^{v_{j1}} \alpha_{2}^{v_{j2}} \cdots \alpha_{n}^{v_{jn}} \right) & \text {$\varphi$ preserves addition} \\
&=& \varphi(x)
\end{array}$$
which is what was to be demonstrated.
