Higher-order necessary conditions in abstract mathematical programming