Профессор Снэйп
Ага, "естественного". И на пальцах как примерно доказывать то, что не-NP. Вот в примере Xaositect оценку снизу сложности получили. Может еще есть способы?
Совсем естественных не знаю. И, насколько я понимаю, вопрос

ещё не решён. А естественно возникающие в приложениях языки, как правило, экспоненциальные, так как в худшем случае всё всегда решается тупым перебором
Если же задать себе специальной целью построить не экспоненциальный язык (который, естественно, не попадёт в класс NP), то тут всё очень просто. Обычная диагональка. Для каждой программы

берём машину Тьюринга и включаем сам текст этой программы в язык тогда и только тогда, когда она на входе, равном этому тексту, не даёт ответ "да" за

шагов.