Optimality conditions in nonlinear programming