Proving linearity of the differential operator $a_n(x)D^n+a_{n-1}(x)D^{n-1}+\ldots+a_1(x)D+a_0(x)$. I am taking a first course on ordinary differential equations(with background in linear algebra). I would like to know, if the proof to the below claim is correct (and that I am not using advanced facts to prove basic facts).

Prove that every expression of the form:
$$a_n(x)D^n+a_{n-1}(x)D^{n-1}+\ldots+a_1(x)D+a_0(x)$$
defines a linear transformation from $C^n[a,b]$ to $C[a,b]$ whenever $a_0(x),\ldots,a_n(x)$ are continuous on $[a,b]$.

Proof.
(1) Consider $\frac{d^n}{dx^n}(y) = h$. Any function $y$ that satisfies this equation must have atleast $n$ derivatives.
In other words, $D^n$ sends a function $f$ in $C^n[a,b]$ to $h$ in $C[a,b]$.
(2) From high-school calculus, if $u,v$ functions $n$ times differentiable,
$\frac{d^n}{dx^n}(u + v)=\frac{d^n}{dx^n}(u)+\frac{d^n}{dx^n}(v)$
$\frac{d^n}{dx^n}(\alpha u)=\alpha \frac{d^n}{dx^n}(u)$
Therefore, $I,D,D^2,\ldots,D^n$ are linear maps. In fact, $a_0(x)I, a_1(x)D, a_2(x)D^2,\ldots,a_n(x)D^n$ are also linear transformations.
(3) Since, $C^n[a,b]$ and $C[a,b]$ are finite-dimensional vector spaces, the set of all such linear transformations from $\{T:C^n[a,b]\rightarrow C[a,b]\}$ is a vector space. Vector addition is defined in the usual way functions are added point-wise. $(S+T)(v)=S(v)+T(v)$. Scalar multiplication is defined by multiplying the scalar with each of the components. $(\alpha T)(v)=\alpha\cdot T(v)$.
Additivity.
Let $T = a_n(x)D^n + a_{n-1}D^{n-1}+\ldots+a_1(x)D + a_0(x)$.
\begin{align}
T(f+g)=
&[a_n(x)D^n + a_{n-1}D^{n-1}+\ldots+a_1(x)D + a_0(x)](f+g) \\ 
= &a_n(x)D^n (f+g) + a_{n-1}D^{n-1}(f+g)+\ldots+a_1(x)D(f+g) + a_0(x)(f+g) \hspace{3mm}...(S+T)(v)=S(v)+T(v)\\
= &a_n(x)D^n (f) + a_{n-1}D^{n-1}(f)+\ldots+a_1(x)D(f) + a_0(x)(f) \\
+ &a_n(x)D^n (g) + a_{n-1}D^{n-1}(g)+\ldots+a_1(x)D(g) + a_0(x)(g)  \hspace{5mm} ...D^n(u+v)=D^n(u)+D^n(v)\\
=& T(f) + T(g)
\end{align}
Homogeneity.
\begin{align}
T(\alpha f) &= [a_n(x)D^n + a_{n-1}D^{n-1}+\ldots+a_1(x)D + a_0(x)](\alpha f) \\
& = a_n(x)D^n(\alpha f) + a_{n-1}D^{n-1}(\alpha f)+\ldots+a_1(x)D(\alpha f) + a_0(x)(\alpha f)\\
& = \alpha a_n(x)D^n (f)+ \alpha a_{n-1}D^{n-1} (f) +\ldots + \alpha a_1(x)D(f) + \alpha a_0(x)(f)\\
& = \alpha T(f)
\end{align}
This completes the proof.
Q.E.D

Yes this proof is correct. One thing to note is that the vector spaces in question are very much not finite dimensional. Luckily, that doesn't impact your proof in any meaningful way. 
Part (3) can also be shortened a lot by just observing that sums and multiples of linear maps are always linear. That removes a lot of complicated looking symbols. 
