Style
The goal of a proof is to convey an idea to an audience. Typically, this is done by mixing both notation and English. If you try to read old mathematics (e.g. Babylonian or Greek mathematics), you will find that they wrote everything out in words—modern notation didn't exist yet. This is quite difficult to parse, as the plain language needs to be interpreted and understood as mathematics. On the opposite end of the spectrum are formal proofs (e.g. those produced by and for automated proving systems). These tend to be a compressed muddle of pure notation, which is also quite difficult to read.
The goal is to come to a happy medium, where your principle tool is plain language, but where notation is introduced when it aids clarity. Everything should be written in complete sentences, with appropriate punctuation, spelling, grammar, and so on.
I would also suggest that you avoid pronouns. While a lot of authors will write using the "mathematical 'we'", I find this to be a little precious, and you should absolutely avoid the second person. My preference is to write in a more imperative style. For example:
$$\begin{array}.
\color{red}{✘} & \text{"After substituting, you get an equation of the form $f(x) = ax+b$."} \\
\color{red}{✘} & \text{"After substituting, we get an equation of the form $f(x) = ax+b$."} \\
\color{green}{\checkmark} & \text{"Substitute to get an equation of the form $f(x) = ax+b$."} \\
\end{array}$$
Definitions & Notation
As several commenters have pointed out, the functions you define as "linear" are not, in a more general setting, "linear functions". In introductory level classes, these kinds of functions are often called linear because they are lines in the plane, but, generally speaking, a function $f$ is linear if
$$ f(x+y) = f(x) + f(y) \qquad\text{and}\qquad f(\lambda x) = \lambda f(x) $$
for all appropriate values of $x$, $y$, and $\lambda$ (essentially, linear functions "distribute" over sums, and scalars can be "factored out" of linear functions).
You have two options here: (1) you can either adopt a non-standard definition and very clearly indicate that you are doing so, or (2) you can use standard definitions.
You have also used a number of variables in your argument which are not defined. What are $a$, $b$, $c$, and $d$? What are $f_1$ and $f_2$? have you defined them via the formulae at the top of your argument, or is this some derived property? There is something missing in the argument there.
There is also some confusion for me here regarding domains. I am assuming that $f_1$ and $f_2$ are functions which take the reals to the reals. However, this is neither obvious, nor necessary. You need to be very careful, in your definitions or exposition, to explain what the domains and codomains of your functions are.
Finally, all of those \cdots
are distracting. I would get rid of them.
Alternative Presentation
Acknowledging that I am on the verbose end of the spectrum when it comes to mathematical writing, my own presentation of the proposition in the question would be something like the following:
Definition: A function $f : \mathbb{R}\to\mathbb{R}$ is affine linear if there are real constants $a$ and $b$ such that for any $x\in\mathbb{R}$,
$$ f(x) = ax + b. $$
Proposition: The composition of two affine linear functions is affine linear.
Proof: Let $f_1 : \mathbb{R}\to \mathbb{R}$ and $f_2 : \mathbb{R}\to \mathbb{R}$ be two arbitrary affine linear functions. That is, suppose that there are real constants $a_1$, $a_2$, $b_1$, and $b_2$ such that
$$f_1(x) = a_1 x + b_1 \qquad\text{and}\qquad f_2(x) = a_2 x + b_2. $$
Compose $f_1$ with $f_2$ to get
\begin{align} (f_1 \circ f_2)(x) &= f_1(f_2(x)) \\
&= a_1 (a_2 x + b_2) + b_1 \\
&= (a_1a_2)x + (a_1b_2 + b_1).
\end{align}
Both $a_1a_2$ and $a_1b_2 + b_1$ are real constants, hence $f_1 \circ f_2$ is an affine linear map. $\square$
\cdot
for multiplication, or no symbol at all.*
or\ast
usually denotes different things, and looks strange for multiplication $\endgroup$