Inconsistencies in Spivak's solution for problem 3.7 of his own *Calculus* and the given definition of the degree of polynomial functions. This is a nitpick but it bothered me enough to post this question. The problem asks you to prove that for any polynomial function $f$ and any number $a$, there is a polynomial function $g$, and number $b$, such that $f(x) = (x-a)g(x) + b$ for all $x$.
The solution is a straight-forward application of strong induction, posted below for reference (emphasis mine):

If the degree of $f$ is 1, then $f$ is of the form
$$ f(x) = cx + d = c(x-a) + (d+ac),$$
so we can let $\boldsymbol{g(x) = c}$ and $b=d+ac$. Suppose that the result is true for polynomials of degree $\leq k$. If $f$ has degree $k+1$, then $f$ has the form
$$ f(x) = a_{k+1}x^{k+1} + \cdots + a_1 x + a_0. $$
Now the polynomial function $h(x) = f(x) - a_{k+1}(x-a)^{k+1}$ has degree $\boldsymbol{\leq k}$, so we can write
$$ f(x) - a_{k+1}x^{k+1} = (x-a)g(x) + b, $$
...

There are some inconsistencies between the solution provided by Spivak and his definition of the degree of a polynomial function (as defined on page 42 of the fourth edition):

The highest power of $x$ with a nonzero coefficient is called the degree of $f$.

The inconsistencies are:

*

*It is clear Spivak doesn't consider $0$ to be a natural number, and this is reflected in his choice to treat degree-$1$ polynomial functions as the base case. But then the choice of a constant function $g(x) = c$ would not be a polynomial function. At most it would be a degree-$0$ polynomial function, if we ignore Spivak's aversion for $0$ and massage the definition to allow $0$ to be the highest power of $x$ in the polynomial function $g(x) = c\cdot x^0$. (Note that the coefficient $c$ can't be $0$ at this point because it came from $f(x)$, a polynomial function.)

*Even then, the assertion that $h(x)$ is a polynomial function of degree $\leq k$ is still inconsistent, because if $f(x) = a_{k+1}(x-a)^{k+1}$, then $h(x) = 0\cdot x^0$, so its degree is undefined.

One option to fix the inconsistencies would be to let any function $h(x) = 0$ be a degree-$0$ polynomial and prove the base case for degree-$0$ polynomials, but considering $h(x) = 0$ to be a polynomial may have other downsides. Another option is to treat the case $f(x) = a_{k+1}(x-a)^{k+1}$ as a special case in the inductive step, and to say that the $g(x)$ in $f(x) = (x-a)g(x) + b$ is a polynomial function or a constant, but this loses the generality of "polynomial function $g(x)$".
The question is, are there other ways to fix these inconsistencies?
 A: After giving it some more thought, I think a suitable way to patch the proof is to treat the case $h(x) = 0$ as a special case in the inductive step as follows:

...
Let $h(x) = f(x) −a_{k+1}(x−a)^{k+1}$. If $h(x) = 0$, then $f(x) = a_{k+1}(x-a)^{k+1}$, and we can let $g(x) = a_{k+1}(x-a)^k$ and let $b = 0$. Otherwise, $h(x)$ is a polynomial function with degree $\leq k$, so we can write
...

This way a constant function $f(x) = c$ with $c \neq 0$ is still a degree-$0$ polynomial, and $0$ is not. Furthermore, this only adds a single sentence to the proof.
A: 
It is clear Spivak doesn't consider $0$ to be a natural number, and this is reflected in his choice to treat degree-$1$ polynomial functions as the base case. But then the choice of a constant function $g(x) = c$ would not be a polynomial function. At most it would be a degree-$0$ polynomial function, if we ignore Spivak's aversion for $0$ and massage the definition to allow $0$ to be the highest power of $x$ in the polynomial function $g(x) = c\cdot x^0$. (Note that the coefficient $c$ can't be $0$ at this point because it came from $f(x)$, a polynomial function.)

Spivak follows the standard convention of treating nonzero constant functions as polynomials of degree $0$ (just as you've described them).
Although he doesn't say so in this part of the problem (at least not in the 3rd edition), the utility of the theorem is that the degree of $g$ is "one less" than the degree of $f$, that is, if $f$ is a polynomial of degree $n$, with $n \in \mathbb{N}$, then $g$ will be a polynomial of degree $n−1$.
See if you can include this fact in your proof. A fuller statement of the theorem would go something like

If $f$ is any polynomial of degree $n\geq 1$, and $a$ is any (real) number, then there exists a nonzero polynomial $g$ of degree $n-1$ and a number $b$ such that
$$f(x) = (x-a)g(x) + b.$$

For his base case, if
$$f(x) =a_1x + a_0 \text{ (degree 1)},$$
then
$$g(x) = a_1 \text{ (degree 0)}.$$
This is the base case because this is the end of the line. We cannot find a nonzero polynomial with degree less than $0$. In other words, if $f(x) = a_0$, there is no nonzero $g$ such that
$$a_0 = (x-a)g(x) + b,$$
for all $x$.
That said, we can extend the "division" process one more step if we like, by allowing $g$ to be the "zero polynomial" $g(x) = 0$:
$$a_0 = (x-a)\cdot 0 + a_0$$.
The zero polynomial does not have a largest nonzero term, so it doesn't really have a meaningful degree, per @daruma's comment.
