[proofplan]
We prove all identities on the invariant finite Hermite span $\mathcal{D}$, so every product of the unbounded operators involved is an everywhere-defined [linear map](/page/Linear%20Map) $\mathcal{D}\to\mathcal{D}$. First we compute the action of $N$ on the Hermite basis, then evaluate both commutators on each basis vector. The polynomial identities follow by moving $a$ and $a^*$ past powers of $N$, first for monomials by induction and then for arbitrary polynomials by linearity.
[/proofplan]
[step:Compute the number operator on the Hermite basis]
By the definitions of $a$ and $a^*$, for $n=0$ we have $N h_0=a^*a h_0=0$. For $n\geq 1$,
\begin{align*}
N h_n=a^*a h_n=a^*(\sqrt{n}\,h_{n-1})=\sqrt{n}\sqrt{n}\,h_n=n h_n.
\end{align*}
Thus
\begin{align*}
N h_n=n h_n
\end{align*}
for every $n\in\mathbb{N}\cup\{0\}$.
[/step]
[step:Evaluate the commutator $[N,a]$ on each Hermite function]
For $n=0$, both $Na h_0$ and $aN h_0$ are zero, so
\begin{align*}
[N,a]h_0=0=-a h_0.
\end{align*}
Let $n\geq 1$. Using $a h_n=\sqrt{n}\,h_{n-1}$ and $N h_m=m h_m$ for every $m\geq 0$,
\begin{align*}
Na h_n=N(\sqrt{n}\,h_{n-1})=\sqrt{n}(n-1)h_{n-1}.
\end{align*}
Also,
\begin{align*}
aN h_n=a(nh_n)=n\sqrt{n}\,h_{n-1}.
\end{align*}
Subtracting gives
\begin{align*}
[N,a]h_n=(Na-aN)h_n=-\sqrt{n}\,h_{n-1}=-a h_n.
\end{align*}
Since $\mathcal{D}$ is the finite linear span of the vectors $h_n$, linearity implies $[N,a]=-a$ on $\mathcal{D}$.
[/step]
[step:Evaluate the commutator $[N,a^*]$ on each Hermite function]
Let $n\geq 0$. Using $a^*h_n=\sqrt{n+1}\,h_{n+1}$ and $N h_m=m h_m$,
\begin{align*}
Na^*h_n=N(\sqrt{n+1}\,h_{n+1})=\sqrt{n+1}(n+1)h_{n+1}.
\end{align*}
Also,
\begin{align*}
a^*Nh_n=a^*(nh_n)=n\sqrt{n+1}\,h_{n+1}.
\end{align*}
Subtracting gives
\begin{align*}
[N,a^*]h_n=(Na^*-a^*N)h_n=\sqrt{n+1}\,h_{n+1}=a^*h_n.
\end{align*}
Since $\mathcal{D}$ is spanned by the Hermite functions, linearity gives $[N,a^*]=a^*$ on $\mathcal{D}$.
[/step]
[step:Move $a$ past powers of $N$]
We prove that for every integer $k\geq 0$,
\begin{align*}
aN^k=(N+I)^k a
\end{align*}
on $\mathcal{D}$. The case $k=0$ is $a=a$. Assume the identity holds for some integer $k\geq 0$. From $[N,a]=-a$ we have $Na-aN=-a$, hence
\begin{align*}
aN=(N+I)a.
\end{align*}
Therefore
\begin{align*}
aN^{k+1}=aN^kN=(N+I)^k aN=(N+I)^k(N+I)a=(N+I)^{k+1}a.
\end{align*}
This proves the monomial identity by induction.
[guided]
The goal is to justify replacing $N$ by $N+I$ when a polynomial in $N$ is moved past the lowering operator $a$. We begin with powers because every polynomial is a finite linear combination of powers.
For $k=0$, the identity is
\begin{align*}
aN^0=(N+I)^0a,
\end{align*}
which is just $a=a$ because $N^0=I$ and $(N+I)^0=I$ on $\mathcal{D}$. Now assume that, for a fixed integer $k\geq 0$, the identity
\begin{align*}
aN^k=(N+I)^k a
\end{align*}
holds on $\mathcal{D}$. The commutator identity $[N,a]=-a$ means
\begin{align*}
Na-aN=-a.
\end{align*}
Solving this operator identity for $aN$ gives
\begin{align*}
aN=Na+a=(N+I)a.
\end{align*}
This is the basic one-step commutation rule.
Now compute on $\mathcal{D}$. Since $N$ maps $\mathcal{D}$ into $\mathcal{D}$ and $a$ maps $\mathcal{D}$ into $\mathcal{D}$, all compositions below are defined on the same domain:
\begin{align*}
aN^{k+1}=aN^kN.
\end{align*}
Using the induction hypothesis on the factor $aN^k$ gives
\begin{align*}
aN^{k+1}=(N+I)^k aN.
\end{align*}
Using the one-step rule $aN=(N+I)a$ gives
\begin{align*}
aN^{k+1}=(N+I)^k(N+I)a=(N+I)^{k+1}a.
\end{align*}
Thus the identity holds for $k+1$, and induction proves it for every integer $k\geq 0$.
[/guided]
[/step]
[step:Move $a^*$ past powers of $N$]
We prove that for every integer $k\geq 0$,
\begin{align*}
a^*N^k=(N-I)^k a^*
\end{align*}
on $\mathcal{D}$. The case $k=0$ is immediate. From $[N,a^*]=a^*$ we have $Na^*-a^*N=a^*$, hence
\begin{align*}
a^*N=(N-I)a^*.
\end{align*}
Assume $a^*N^k=(N-I)^k a^*$ for some $k\geq 0$. Then
\begin{align*}
a^*N^{k+1}=a^*N^kN=(N-I)^k a^*N=(N-I)^k(N-I)a^*=(N-I)^{k+1}a^*.
\end{align*}
The monomial identity follows by induction.
[/step]
[step:Extend the monomial identities to every polynomial]
Let $q\in\mathbb{C}[t]$ be a polynomial. Choose an integer $M\geq 0$ and coefficients $c_0,\dots,c_M\in\mathbb{C}$ such that
\begin{align*}
q(t)=\sum_{k=0}^{M}c_k t^k.
\end{align*}
By definition of polynomial functional calculus on $\mathcal{D}$,
\begin{align*}
q(N)=\sum_{k=0}^{M}c_k N^k,
\end{align*}
\begin{align*}
q(N+I)=\sum_{k=0}^{M}c_k (N+I)^k,
\end{align*}
and
\begin{align*}
q(N-I)=\sum_{k=0}^{M}c_k (N-I)^k.
\end{align*}
Using linearity and the monomial identity for $a$,
\begin{align*}
a q(N)=\sum_{k=0}^{M}c_k aN^k=\sum_{k=0}^{M}c_k (N+I)^k a=q(N+I)a.
\end{align*}
Using linearity and the monomial identity for $a^*$,
\begin{align*}
a^* q(N)=\sum_{k=0}^{M}c_k a^*N^k=\sum_{k=0}^{M}c_k (N-I)^k a^*=q(N-I)a^*.
\end{align*}
These are identities of linear maps $\mathcal{D}\to\mathcal{D}$, completing the proof.
[/step]