Singular perturbation theory