В разделе «Расширенные темы по типам и языкам программирования» в главе, посвященной системам субструктурных типов, упоминается, что «тщательно разработанное» аффинное лямбда-исчисление с рекурсивным комбинатором для списков может вводить только те термины, которые имеют полиномиальное время выполнения (это не представить доказательства в силу сложности). Это было бы очень интересно, если бы мы могли также решить каждую проблему в P. Я мог бы попытаться найти решение P-полной задачи, используя представленное исчисление, я не уверен, что это действительно что-то докажет. Мне кажется, это не значит, что он может предварительно преобразовать все сокращения, необходимые для использования решения для P-полной задачи (хотя это действительно кажется вероятным).
Если неизвестно, что аффинное лямбда-исчисление способно точно решить проблемы в P, существует ли какое-либо известное исчисление, которое может точно решить проблемы в P?
Ответы:
Изменить: мое предположение в первом абзаце ниже неверно! Уго Даль Лаго указал мне на более позднюю статью Мартина Хофмана (вышедшую в POPL 2002), о которой я не знал, показывая (как следствие более общих результатов), что система из книги ATTPL на самом деле завершена для ( несмотря на неспособность вычислить каждую функцию в F P ). Так что, к моему удивлению, ответ на главный вопрос - да.P FP
Патрик Бейло, Казушиге Теруи. Типы света для вычисления полиномиального времени в лямбда-исчислении. Информация и вычисления 207 (1): 41-62, 2009.
Марко Габоарди, Симона Рончи Делла Рокка. От легкой логики до типовых заданий: тематическое исследование. Logic Journal of IGPL 17 (5): 499-530, 2009.
Вы найдете много других ссылок в этих двух статьях.
Преднамеренно совершенные системы типов, которые способны точно набирать программы с большим временем для более широкого языка (система F в моем примере выше), существуют. Конечно, они вообще неразрешимы. Видеть
Уго Дал Лаго, Марко Габоарди. Линейно-зависимые типы и относительная полнота. Логические методы в информатике 8 (4), 2011.
источник