Я много читал о системах типов и тому подобное, и я примерно понимаю, почему они были введены (чтобы разрешить парадокс Рассела). Я также примерно понимаю их практическую значимость в языках программирования и системах доказательства. Однако я не совсем уверен, что мое интуитивное представление о типе является правильным.
У меня вопрос, действительно ли утверждение, что типы - это предложения?
Другими словами, утверждение «n является натуральным числом» соответствует утверждению «n имеет тип« натуральное число »», означающее, что все алгебраические правила, которые включают натуральные числа, выполняются для n. (То есть, с другой стороны, алгебраические правила - это утверждения. Те утверждения, которые верны для натуральных чисел, верны и для n.)
Значит ли это, что математический объект может иметь более одного типа?
Кроме того, я знаю, что наборы не эквивалентны типам, потому что вы не можете иметь набор всех наборов. Могу ли я утверждать, что если набор - это математический объект, похожий на число или функцию , тип - это разновидность метаматематического объекта, а по той же логике тип - это метаматематический объект? (в том смысле, что каждая мета указывает на более высокий уровень абстракции ...)
Есть ли какая-то связь с теорией категорий?