Hamilton-Jacobi theory