  The principle of optimality is a fundamental aspect of dynamic programming,
which states that the optimal solution to a dynamic optimization problem can be
found by combining the optimal solutions to its sub-problems. While this
principle is generally applicable, it is often only taught for problems with
finite or countable state spaces in order to sidestep measure-theoretic
complexities. Therefore, it cannot be applied to classic models such as
inventory management and dynamic pricing models that have continuous state
spaces, and students may not be aware of the possible challenges involved in
studying dynamic programming models with general state spaces. To address this,
we provide conditions and a self-contained simple proof that establish when the
principle of optimality for discounted dynamic programming is valid. These
conditions shed light on the difficulties that may arise in the general state
space case. We provide examples from the literature that include the relatively
involved case of universally measurable dynamic programming and the simple case
of finite dynamic programming where our main result can be applied to show that
the principle of optimality holds.
