$O(h^3)$ in the second-order approximation for $f(\mathbf{x}^*)$ I am currently studying the textbook Algorithms for Optimization by Mikel J. Kochenderfer and Tim A. Wheeler. Chapter 1.6.2 Multivariate says the following:

The following conditions are necessary for $\mathbf{x}$ to be at a local minimum of $f$:
  
  
*
  
*$\nabla f(\mathbf{x}) = 0$, the first-order necessary condition (FONC)
  
*$\nabla^2 f(\mathbf{x})$ is positive semidefinite (for a review of this definition, see appendix C.6), the second-order necessary condition (SONC)
The FONC and SONC are generalizations of the univariate case. The FONC tells us that the function is not changing at $\mathbf{x}$. Figure 1.8 shows examples of multivariate functions where the FONC is satisfied. The SONC tells us that $\mathbf{x}$ is in a bowl.
The FONC and SONC can be obtained from a simple analysis. In order for $\mathbf{x}^*$ to be at a local minimum, it must be smaller than those values around it:
$$f(\mathbf{x}^*) \le f(\mathbf{x} + h \mathbf{y}) \iff f(\mathbf{x} + h\mathbf{y}) - f(\mathbf{x}^*) \ge 0 \tag{1.14}$$ 
If we write the second-order approximation for $f(\mathbf{x}^*)$, we get:
$$ f(\mathbf{x}^* + h \mathbf{y}) = f(\mathbf{x}^*) + h \nabla f(\mathbf{x}^*)^T \mathbf{y} + \dfrac{1}{2} h^2 \mathbf{y}^T \nabla^2 f(\mathbf{x}^*)\mathbf{y} + O(h^3) \tag{1.15}$$

I'm wondering where the $O(h^3)$ term came from in 1.15? I cannot see why it would algebraically be there?
I would appreciate it if someone would please take the time to clarify this.

You don't need the 3-rd order approximation. What you need is the mean-value theorem applied first to the original theorem and then to its derivative. If g is a function of one variable with g'(0)=0, then $$ g(1)-g(0)=g'(t), 0<t<1 $$ $$ =g'(t)-g'(0) $$
$$ =tg''(\tau), 0<\tau<t<1 $$. If  $ \phi $ is a function of n variables, $ P_0 $ is a point in $ R^n $ , v is avector with n components and we define $ \omega$ by 
$$ \omega(t)=\phi(P_0+tv) $$ then $$ \omega'(t)=v\bullet\nabla\phi(P_0+tv) $$ Thus if f is a function  of n variables and we define  $$ g(t)=f(P_0+tv) $$, we have 
$$ g'(t)=v\bullet\nabla f(P_0+tv) $$ and $$ g''(t)=vHess(P_0+tv)v^T $$ So if we take a point $ P_1 $ and set $v=P_1-P_0 $ we have
$$ f(P_1)-f(P_0) = g(1)-g(0) $$ $$=tvHess(P_0+\tau v)v^T , 0<\tau<t<1$$ 
