Если кто-то хочет заново реализовать исчисление индуктивных конструкций, каков «кратчайший» путь к этому? В частности, что на самом деле происходит внутри ядра?
Моя ментальная модель говорит, что нам нужны две вещи:
- способность вычислять / сводить термины к значениям .
- возможность проверки типа, чтобы убедиться, что доказательства правильны.
Однако, поскольку язык типизирован зависимо, средство проверки типов, скорее всего, будет зависеть от способности вычислять, когда решив, что два типа равны.
Так, на самом деле, какова операционная семантика оценщика Coq? Каковы правила вывода проверки типов ? И насколько сложно их реализовать?
Я хотел бы получить стабильную стандартную справку об этих двух фактах, чтобы я мог заново реализовать небольшое ядро CI C.