[proofplan]
Let $H$ be the subgroup generated by the adjacent transpositions $s_1,\dots,s_{n-1}$. We first show that every transposition $(i\ j)$ lies in $H$ by writing it explicitly as a product that moves $i$ step-by-step to $j$ and then moves the intermediate entries back. We then prove directly that every permutation is a product of transpositions by induction on the number of points it moves. Since $H$ contains every transposition, it contains every permutation in $S_n$, and the reverse inclusion follows because $H$ is a subgroup of $S_n$.
[/proofplan]
[step:Fix the subgroup generated by the adjacent transpositions]
Let
\begin{align*}
H := \langle s_1,\dots,s_{n-1}\rangle \leq S_n.
\end{align*}
We use the standard convention that products of permutations are composed from right to left: in a product $\alpha\beta$, the permutation $\beta$ acts first and then $\alpha$ acts.
Since each $s_k$ belongs to $S_n$, the generated subgroup $H$ is a subgroup of $S_n$. It remains to prove $S_n \subseteq H$.
[/step]
[step:Express every transposition as a product of adjacent transpositions]
Let $i,j \in \{1,\dots,n\}$ with $i<j$. Define
\begin{align*}
w := s_i s_{i+1}\cdots s_{j-2}s_{j-1}s_{j-2}\cdots s_{i+1}s_i \in H,
\end{align*}
where the descending product $s_{j-2}\cdots s_i$ is omitted when $j=i+1$. We prove that $w=(i\ j)$.
First, applying the factors from right to left sends $i$ successively to $i+1,i+2,\dots,j$, and the remaining descending factors do not move $j$. Hence $w(i)=j$.
Next, the point $j$ is first moved by $s_{j-1}$ to $j-1$, then by $s_{j-2}$ to $j-2$, and so on, finally by $s_i$ to $i$. Thus $w(j)=i$.
If $m \in \{1,\dots,n\}\setminus\{i,j\}$ and $m<i$ or $m>j$, then none of the adjacent transpositions appearing in $w$ moves $m$, so $w(m)=m$. If $i<m<j$, then the descending part moves $m$ to $m-1$, and the ascending part later moves $m-1$ back to $m$; hence $w(m)=m$. Therefore $w$ exchanges exactly $i$ and $j$ and fixes every other point, so $w=(i\ j)$. Thus every transposition in $S_n$ belongs to $H$.
[guided]
The goal of this step is to show that the adjacent swaps are enough to perform an arbitrary swap. Let $i,j \in \{1,\dots,n\}$ with $i<j$. We define the permutation
\begin{align*}
w := s_i s_{i+1}\cdots s_{j-2}s_{j-1}s_{j-2}\cdots s_{i+1}s_i.
\end{align*}
This element lies in $H$ because $H$ is a subgroup containing each generator $s_k$, and therefore contains every finite product of the $s_k$.
We now compute the action of $w$ point by point, remembering that the rightmost factor acts first. Starting with $i$, the rightmost factor $s_i$ sends $i$ to $i+1$, then $s_{i+1}$ sends $i+1$ to $i+2$, and this continues until $s_{j-1}$ sends $j-1$ to $j$. The factors after $s_{j-1}$ are $s_{j-2},\dots,s_i$, none of which moves $j$. Hence
\begin{align*}
w(i)=j.
\end{align*}
Now start with $j$. The factors $s_i,\dots,s_{j-2}$ on the far right do not move $j$. The factor $s_{j-1}$ sends $j$ to $j-1$, then $s_{j-2}$ sends $j-1$ to $j-2$, and this continues until $s_i$ sends $i+1$ to $i$. Thus
\begin{align*}
w(j)=i.
\end{align*}
It remains to check that no other point is moved. If $m<i$ or $m>j$, then every adjacent transposition appearing in $w$ swaps two elements inside $\{i,\dots,j\}$, so $m$ is fixed by each factor and therefore by $w$. If $i<m<j$, then the right-hand part of the word moves $m$ one step down to $m-1$, while the left-hand part moves it back one step up to $m$. Thus
\begin{align*}
w(m)=m
\end{align*}
for every $m \notin \{i,j\}$. Therefore $w$ is exactly the transposition $(i\ j)$. Since $i$ and $j$ were arbitrary with $i<j$, every transposition in $S_n$ belongs to $H$.
[/guided]
[/step]
[step:Decompose every permutation into transpositions]
We prove that every $\sigma \in S_n$ is a product of transpositions. For $\sigma \in S_n$, define its moved set by
\begin{align*}
M(\sigma) := \{a \in \{1,\dots,n\} : \sigma(a) \neq a\}.
\end{align*}
We use induction on $|M(\sigma)|$.
If $|M(\sigma)|=0$, then $\sigma=\operatorname{id}_{\{1,\dots,n\}}$, which is the empty product of transpositions. Suppose $|M(\sigma)|>0$. Choose $a \in M(\sigma)$, and define $b:=\sigma(a)$. Since $a \in M(\sigma)$, we have $b\neq a$. Let $\tau := (a\ b) \in S_n$, and define
\begin{align*}
\sigma_1 := \tau \sigma \in S_n.
\end{align*}
Then
\begin{align*}
\sigma_1(a)=\tau(\sigma(a))=\tau(b)=a.
\end{align*}
If $x \notin M(\sigma)$, then $\sigma(x)=x$. Also $x\neq b$, because $\sigma(a)=b$ and injectivity of $\sigma$ would be contradicted by $\sigma(x)=x=b$ with $x\neq a$. Hence $\tau(x)=x$, and so $\sigma_1(x)=x$. Therefore
\begin{align*}
M(\sigma_1) \subseteq M(\sigma)\setminus\{a\}.
\end{align*}
By the induction hypothesis, $\sigma_1$ is a product of transpositions. Since $\sigma=\tau\sigma_1$, the permutation $\sigma$ is also a product of transpositions.
[/step]
[step:Conclude that the adjacent transpositions generate all of $S_n$]
Let $\sigma \in S_n$. By the previous step, $\sigma$ is a product of transpositions. By the expression proved above, each transposition belongs to $H$. Since $H$ is closed under multiplication, the product $\sigma$ belongs to $H$. Therefore $S_n \subseteq H$.
The inclusion $H \subseteq S_n$ was already established from the definition of $H$ as a subgroup generated by elements of $S_n$. Hence
\begin{align*}
S_n = H = \langle s_1,\dots,s_{n-1}\rangle.
\end{align*}
This proves that the adjacent transpositions generate $S_n$.
[/step]