Как я понимаю, в компьютерных науках типы данных не основаны на теории множеств из-за таких вещей, как парадокс Рассела, но, как и в реальных языках программирования, мы не можем выразить такие сложные типы данных, как «множество, которое не содержит себя», можем ли мы Скажите, что на практике тип - это бесконечное множество его членов, в котором членство в экземпляре определяется числом характеристик, свойственных данному типу / набору (наличие определенных свойств, методов)? Если нет, то какой будет контрпример?
11
Ответы:
Основная причина избегания множеств в семантике типов заключается в том, что типичный язык программирования позволяет нам определять произвольные рекурсивные функции. Следовательно, каким бы ни был смысл типа, он должен иметь свойство с фиксированной точкой. Единственное множество с таким свойством - одноэлементное множество.
Чтобы быть более точным, рекурсивно определенное значение типа (где обычно является типом функции) определяется уравнением с фиксированной точкой где может быть любой программой. Если интерпретируется как множество то мы ожидаем, что каждый будет иметь фиксированную точку. Но единственным множеством с этим свойством является синглтон.v τ τ v = Φ ( v ) Φ : τ→ τ τ T е: T→ T T
Конечно, вы также можете понять, что виновником является классическая логика. Если вы работаете с интуиционистской теорией множеств, то можно предположить, что существует множество множеств со свойством фиксированной точки. Фактически, это использовалось, чтобы дать семантику языка программирования, см., Например,
источник
Семантический подтип основан на теоретической интерпретации типов базового множества, где подтип является подмножеством. Я полагаю, что оригинальная работа принадлежит Кастаньи в контексте языка обработки XML CDuce. Типы соответствуют наборам документов XML. Идеи с тех пор были повторно применены к калькулятору и объектам и классам исчисления .π
источник
За некоторыми исключениями (которые цитирует Дейв Кларк), простую теоретико-множественную семантику типов трудно использовать. Причина в том, что абстракция данных не очень хорошо сочетается с теоретико-множественной семантикой.
источник