[proofplan]
We prove the rule by reducing the structure constant $c_{\lambda\mu}^{\nu}$ to the coefficient of $s_\mu$ in the skew Schur function $s_{\nu/\lambda}$. The main input is the Littlewood-Richardson straightening theorem for skew Schur functions, which states that this Schur-basis coefficient is counted by semistandard skew tableaux whose reading words are lattice words. After applying that theorem, the asserted formula follows immediately. The two vanishing cases are handled separately: non-containment is part of the zero convention for skew Schur functions, and the size condition follows from homogeneity of Schur functions.
[/proofplan]
[step:Reduce the structure constant to a skew Schur coefficient]
Let $\Lambda$ denote the ring of symmetric functions over $\mathbb{Z}$, and let $s_\alpha \in \Lambda$ denote the [Schur function](/page/Schur%20Function) indexed by a partition $\alpha$. Define the structure constants $c_{\lambda\mu}^{\rho} \in \mathbb{Z}$ by
\begin{align*}
s_\lambda s_\mu = \sum_\rho c_{\lambda\mu}^{\rho} s_\rho,
\end{align*}
where the sum ranges over all partitions $\rho$.
Assume first that $\lambda \subset \nu$. Let $s_{\nu/\lambda} \in \Lambda$ be the skew Schur function of the skew diagram $\nu/\lambda$. The Hall [inner product](/page/Inner%20Product) $(\cdot,\cdot)_\Lambda$ on $\Lambda$ is the [bilinear form](/page/Bilinear%20Form) for which the Schur functions form an [orthonormal basis](/page/Orthonormal%20Basis):
\begin{align*}
(s_\alpha,s_\beta)_\Lambda = \begin{cases}
1, & \alpha = \beta,\\
0, & \alpha \ne \beta.
\end{cases}
\end{align*}
By the adjoint definition of skew Schur functions, multiplication by $s_\lambda$ is adjoint to skewing by $\lambda$:
\begin{align*}
(s_\lambda f,s_\nu)_\Lambda = (f,s_{\nu/\lambda})_\Lambda
\end{align*}
for every symmetric function $f \in \Lambda$. Applying this with $f=s_\mu$ gives
\begin{align*}
c_{\lambda\mu}^{\nu}
&= (s_\lambda s_\mu,s_\nu)_\Lambda \\
&= (s_\mu,s_{\nu/\lambda})_\Lambda.
\end{align*}
Thus $c_{\lambda\mu}^{\nu}$ is the coefficient of $s_\mu$ in the Schur expansion of $s_{\nu/\lambda}$.
[/step]
[step:Expand the skew Schur function through semistandard skew tableaux]
Let $\operatorname{SSYT}(\nu/\lambda)$ be the set of semistandard Young tableaux of skew shape $\nu/\lambda$ with entries in $\mathbb{N}$: entries weakly increase along rows from left to right and strictly increase down columns. Let $x=(x_1,x_2,\dots)$ denote the countable alphabet of commuting indeterminates for the symmetric-function ring $\Lambda$. For $T \in \operatorname{SSYT}(\nu/\lambda)$, define its content sequence $\operatorname{cont}(T)=(a_1,a_2,\dots)$ by declaring $a_i$ to be the number of boxes of $T$ containing $i$, and define the monomial
\begin{align*}
x^{\operatorname{cont}(T)} := \prod_{i\ge 1} x_i^{a_i}.
\end{align*}
By the tableau definition of skew Schur functions,
\begin{align*}
s_{\nu/\lambda} = \sum_{T \in \operatorname{SSYT}(\nu/\lambda)} x^{\operatorname{cont}(T)}.
\end{align*}
The problem is therefore to rewrite this monomial-positive symmetric function in the Schur basis and identify the coefficient of $s_\mu$.
[guided]
We now make explicit what data enter the skew Schur generating function. Let $x=(x_1,x_2,\dots)$ be the countable alphabet of commuting indeterminates used to realise the symmetric-function ring $\Lambda$. The set $\operatorname{SSYT}(\nu/\lambda)$ consists of all fillings of the boxes of the skew diagram $\nu/\lambda$ by positive integers such that entries weakly increase along each row from left to right and strictly increase down each column.
For a tableau $T \in \operatorname{SSYT}(\nu/\lambda)$, define $\operatorname{cont}(T)=(a_1,a_2,\dots)$ by setting $a_i$ equal to the number of boxes of $T$ whose entry is $i$. Since $\nu/\lambda$ has finitely many boxes, only finitely many $a_i$ are nonzero, so the monomial
\begin{align*}
x^{\operatorname{cont}(T)} := \prod_{i\ge 1} x_i^{a_i}
\end{align*}
is a well-defined monomial in the variables $x_i$.
The tableau definition of the skew Schur function gives
\begin{align*}
s_{\nu/\lambda} = \sum_{T \in \operatorname{SSYT}(\nu/\lambda)} x^{\operatorname{cont}(T)}.
\end{align*}
Thus the coefficient problem has been reduced to the following precise basis-conversion problem in $\Lambda$: determine the coefficient of $s_\mu$ when this tableau generating function is expanded in the ordinary Schur basis. The next step proves that this coefficient is obtained by cancelling the non-lattice reading words and retaining exactly the Littlewood-Richardson tableaux of content $\mu$.
[/guided]
[/step]
[step:Identify the Schur coefficient by the Littlewood-Richardson straightening theorem]
For a tableau $T \in \operatorname{SSYT}(\nu/\lambda)$, define its reading word $w(T)$ by reading each row from right to left, starting with the top row and proceeding downward. The word $w(T)$ is called a lattice word if, in every initial segment of $w(T)$ and for every $i \ge 1$, the number of letters equal to $i$ is at least the number of letters equal to $i+1$.
For each partition $\alpha$, define $N_{\nu/\lambda}^{\alpha}$ to be the number of tableaux $T \in \operatorname{SSYT}(\nu/\lambda)$ such that $\operatorname{cont}(T)=\alpha$ and $w(T)$ is a lattice word. These tableaux are exactly the Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ and content $\alpha$.
We apply the [Littlewood-Richardson straightening theorem](/page/Littlewood-Richardson%20Straightening%20Theorem) to the finite skew diagram $\nu/\lambda$. Its hypotheses are satisfied because $\lambda \subset \nu$, so $\nu/\lambda$ is a well-defined skew Young diagram with finitely many boxes, and the reading-word convention above is the row-reading convention used in the theorem. The theorem gives the Schur expansion
\begin{align*}
s_{\nu/\lambda} = \sum_{\alpha} N_{\nu/\lambda}^{\alpha} s_\alpha,
\end{align*}
where the sum ranges over partitions $\alpha$ of $|\nu|-|\lambda|$. Taking $\alpha=\mu$, the coefficient of $s_\mu$ in $s_{\nu/\lambda}$ is $N_{\nu/\lambda}^{\mu}$, the number of Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ and content $\mu$.
[guided]
The difficult part of the Littlewood-Richardson rule is the conversion from the monomial generating function for semistandard skew tableaux to the Schur basis. We isolate that conversion as a named input rather than hiding it inside an incomplete cancellation sketch.
First define the combinatorial objects being counted. For $T \in \operatorname{SSYT}(\nu/\lambda)$, the reading word $w(T)$ is obtained by reading rows from right to left, beginning with the top row and then moving downward. This word is lattice if every initial segment contains at least as many letters $i$ as letters $i+1$, for every $i \ge 1$. For a partition $\alpha$, let $N_{\nu/\lambda}^{\alpha}$ denote the number of tableaux $T \in \operatorname{SSYT}(\nu/\lambda)$ whose content is $\alpha$ and whose reading word is lattice. By definition, these are the Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ and content $\alpha$.
Now apply the [Littlewood-Richardson straightening theorem](/page/Littlewood-Richardson%20Straightening%20Theorem). The theorem applies to a finite skew Young diagram and the row-reading lattice-word convention. Since $\lambda \subset \nu$, the skew diagram $\nu/\lambda$ is obtained by deleting the Young diagram of $\lambda$ from the Young diagram of $\nu$, so it is a finite skew Young diagram. Therefore the theorem gives
\begin{align*}
s_{\nu/\lambda} = \sum_{\alpha} N_{\nu/\lambda}^{\alpha} s_\alpha,
\end{align*}
where $\alpha$ ranges over partitions of the number of boxes of $\nu/\lambda$, namely $|\nu|-|\lambda|$.
This theorem is precisely the rigorous form of the straightening argument: the non-lattice reading words cancel in the Schur expansion, and the surviving positive contributions are indexed by the lattice reading words. Therefore, when we extract the coefficient of $s_\mu$, we obtain exactly
\begin{align*}
[s_\mu]s_{\nu/\lambda} = N_{\nu/\lambda}^{\mu},
\end{align*}
which is the number of Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ and content $\mu$.
[/guided]
[/step]
[step:Conclude the counting formula]
Combining the first step with the Schur expansion identified in the previous step gives
\begin{align*}
c_{\lambda\mu}^{\nu}
&= (s_\mu,s_{\nu/\lambda})_\Lambda \\
&= N_{\nu/\lambda}^{\mu}.
\end{align*}
By the definition of $N_{\nu/\lambda}^{\mu}$, this is exactly the number of Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ and content $\mu$.
[/step]
[step:Prove the vanishing when the size or containment condition fails]
If $\lambda \not\subset \nu$, then the skew diagram $\nu/\lambda$ is not a diagram obtained by deleting the boxes of $\lambda$ from the Young diagram of $\nu$. We use the standard zero convention for skew Schur functions: $s_{\nu/\lambda}:=0$ when $\lambda \not\subset \nu$. Equivalently, skewing by $s_\lambda$ has no $s_\nu$ component unless the Young diagram of $\lambda$ is contained in the Young diagram of $\nu$. Hence
\begin{align*}
c_{\lambda\mu}^{\nu}=(s_\mu,s_{\nu/\lambda})_\Lambda=(s_\mu,0)_\Lambda=0.
\end{align*}
There are also no Littlewood-Richardson tableaux of skew shape $\nu/\lambda$ under this convention.
If $|\nu| \ne |\lambda|+|\mu|$, then $c_{\lambda\mu}^{\nu}=0$ by homogeneity. Indeed, $s_\lambda$ is homogeneous of degree $|\lambda|$, $s_\mu$ is homogeneous of degree $|\mu|$, and $s_\nu$ is homogeneous of degree $|\nu|$. Therefore $s_\lambda s_\mu$ is homogeneous of degree $|\lambda|+|\mu|$, so no Schur function of degree different from $|\lambda|+|\mu|$ can occur in its Schur expansion. Thus the coefficient of $s_\nu$ is zero whenever $|\nu| \ne |\lambda|+|\mu|$.
[/step]