An elucidation of the class of optimization problems that can be solved by dynamic programming techniques, and a general method for solving terminating dynamic programming problems. Problems appropriate for dynamic programming are shown to be sequent...