В « Интуиционистской теории типов: предиктивная часть» Мартина-Лёфа доказано, что проверка типовразрешимо при условиибудучи в первую очередь типизируемым , доказывая теорему нормализации для замкнутых типизируемых членов. С другой стороны, я видел, что во многих местах (Википедия, Нордстрем и т. Д.) Написано, что проверка типов в (интенсиональном) MLTT разрешима; они неявно ограничивают типизируемые термины?
Известно ли что-нибудь о разрешимости вывода типов или проверки типов в интенсиональном MLTT, если мы не ограничиваемся типизируемыми терминами? Например, возможно, существует процесс принятия решения, который распознает нетипизируемые термины, скажем, путем нормализации к форме, которая не соответствует ни одному из конструкторов, или показывая, что нет непериодической последовательности сокращений для любого нетипизируемого термина.
Я не смог найти много в литературе.
Я хотел бы дополнить ответ Коди общим наблюдением, передающим мое понимание того, почему работают алгоритмы проверки типов.
Для широкого класса теорий типов проверка или вывод типов выполняется таким образом, что мы никогда не пытаемся нормализовать термин, если мы заранее не установили, что он хорошо типизирован. Точно так же мы никогда не пытаемся нормализовать тип, если мы уже не установили, что это тип. Из-за этого мы можем быть уверены, что нормализация закончится (что требует отдельного доказательства).
Нужно взглянуть на конкретные алгоритмы и увидеть, что они действительно работают таким образом, но они работают. Я просто хотел заявить, что заставляет их тикать. Или лучше, вот почему они перестают тикать.
источник