Let \mathbf{U}_i be the partial control sequence \mathbf{U}_i \equiv \{\mathbf{u}_i,\mathbf{u}_{i+1}\dots,\mathbf{u}_{N-1}\} and define the
cost-to-go J_i as the partial sum of costs from i to N: :J_i(\mathbf{x},\mathbf{U}_i)=\sum_{j=i}^{N-1}\ell(\mathbf{x}_j,\mathbf{u}_j) + \ell_f(\mathbf{x}_N). The optimal cost-to-go or
value function at time i is the cost-to-go given the minimizing control sequence: :V(\mathbf{x},i)\equiv \min_{\mathbf{U}_i}J_i(\mathbf{x},\mathbf{U}_i). Setting V(\mathbf{x},N)\equiv \ell_f(\mathbf{x}_N), the
dynamic programming principle reduces the minimization over an entire sequence of controls to a sequence of minimizations over a single control, proceeding backwards in time: {{NumBlk|:|V(\mathbf{x},i)= \min_{\mathbf{u}}[\ell(\mathbf{x},\mathbf{u}) + V(\mathbf{f}(\mathbf{x},\mathbf{u}),i+1)].|}} This is the
Bellman equation. == Differential dynamic programming ==