Вопросы с тегом «dependent-types»

Перекрывающаяся черта теории типов и систем типов.

58
Зависимые типы против типов уточнения

Может ли кто-нибудь объяснить разницу между зависимыми типами и типами уточнения? Насколько я понимаю, тип уточнения содержит все значения типа, выполняющего предикат. Есть ли особенность зависимых типов, которая их отличает? Если это поможет, я натолкнулся на уточненные типы через проект Liquid...

42
Что делает вывод типов для зависимых типов неразрешимым?

Я видел упомянутое, что системы зависимого типа не являются заразными, но проверяемыми. Мне было интересно, есть ли простое объяснение, почему это так, и есть ли предел «зависимости», где типы могут быть проиндексированы по значениям, ниже какого типа вывод возможен, а выше которого...

35
Что может сделать Идрис, отказавшись от полноты Тьюринга?

Я знаю, что у Идриса есть зависимые типы, но он не завершен. Что он не может сделать, отказавшись от полноты Тьюринга, и связано ли это с наличием зависимых типов? Я предполагаю, что это довольно специфический вопрос, но я не знаю много о зависимых типах и связанных системах...

22
Каковы наиболее сильные системы известных типов, для которых вывод является решающим?

Хорошо известно, что вывод типа Хиндли-Милнера (простой тип вычисления с полиморфизмом) имеет разрешимый вывод типа: вы можете реконструировать основные типы для любых программ без каких-либо аннотаций.λλ\lambda Добавление классов типов в стиле Haskell, похоже, сохраняет эту разрешимость, но...

18
«Минимальная» интуиционистская теория типов?

Я удивлен, что люди продолжают добавлять новые типы в теории типов, но никто, кажется, не упоминает минимальную теорию (или я не могу найти ее). Я думал, что математики любят минимальные вещи, не так ли? Если я правильно понимаю, в теории типов с непредсказуемым образом достаточно Propλ-абстракции...

18
Разница между зависимым типом, типом уточнения и Hoare Logic

Я знаю немного теории зависимых типов. Из википедии: Зависимый тип - это тип, определение которого зависит от значения. И из моего курса теории типов я вспоминаю, что зависимый тип: Семейство типов, проиндексированных по типу. Но у меня путаница в отношении зависимых типов, типов уточнения и логики...

14
Могу ли я иметь «зависимый тип копродукта»?

Я читаю книгу HoTT, и у меня есть (возможно, очень наивный) вопрос о материалах в первой главе. В этой главе вводится тип функции f:A→Bf:A→B f:A\to B а затем обобщается ее зависимость от и это называется типом зависимой функции .BBBx:Ax:Ax:A B:A→U,g:∏x:AB(x)B:A→U,g:∏x:AB(x)B:A\to\mathcal{U},\qquad...

13
Чем отличается Set от Type в Coq? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос так это на тему для Computer Science Stack Exchange. Закрыто 2 года назад . Типы AFAIU могут быть Setэлементами, чьи элементы являются программами, или propositionэлементами,...

11
Вселенные в теории зависимых типов

Я читаю о теории зависимых типов в онлайн-книге « Теория гомотопических типов» . В разделе 1.3 главы « Теория типов» вводится понятие иерархии вселенных : , гдеU0:U1:U2:⋯U0:U1:U2:⋯\mathcal{U}_0 : \mathcal{U}_1 : \mathcal{U}_2 : \cdots каждая вселенная является элементом следующей вселенной . Более...

11
Сведение продуктов в HoTT к кодировкам церкви / Скотта

Так что в настоящее время я иду через книгу HoTT с некоторыми людьми. Я утверждал, что большинство индуктивных типов, которые мы увидим, можно свести к типам, содержащим только зависимые типы функций и вселенные, взяв тип рекурсора как вдохновение для эквивалентного типа. Я начал обрисовывать, как...

11
Можно ли выразить такие свойства, как использование памяти функцией, на языке с зависимой типизацией?

Предположим, что кто-то хочет рассуждать о свойствах кода помимо таких вещей, как целостность и функциональная чистота, а также заботится о потреблении памяти или алгоритмической сложности функции. Можно ли это сделать с помощью зависимых систем типирования и...

11
Что такое

Я смотрю на исчисление конструкций и его место в лямбда-кубе . Если я правильно понимаю, каждая ось куба может рассматриваться как добавление еще одной операции, связанной с типами, к простому типу исчисления, λ→λ→\lambda_\to . Первая ось добавляет операторы типа к термину, вторые операторы типа к...

10
Стандартные конструктивные определения целых, рациональных и действительных?

Натуральные числа определяются индуктивно как (используя синтаксис Coq в качестве примера) Inductive nat: Set := | O: nat | S: nat -> nat. Существует ли стандартный способ конструктивного определения целых чисел (и, возможно, других множеств, таких как рациональные и...

10
Почему рекурсивные типы необходимы в качестве примитивов для доказательств в системах зависимых типов?

Я относительно новичок в теории типов и зависимом программировании. Я изучал исчисление конструкций (CoC) и других систем чистого типа. Я особенно заинтересован в том, чтобы использовать его в качестве промежуточного представления для сохранения системы компиляции. Я понимаю , что (со) рекурсивные...

10
Как вывести зависимые типизированные элиминаторы?

В зависимо-типизированном программировании есть два основных способа разложения данных и выполнения рекурсии: Зависимое сопоставление с образцом : определения функций приведены в виде нескольких предложений. Унификация гарантирует, что все пропущенные случаи невозможны, а внешний решатель...

9
Почему Coq включает выражения let в основной язык

Coq включает в себя выражения let на своем основном языке. Мы можем переводить выражения let в приложения, подобные этому: let x : t = v in b ~> (\(x:t). b) v я понимаю, что это не всегда работает, потому что значение vне будет доступно при проверке типов b. Однако это можно легко исправить с...

9
Проверка операции сортировки в системе типов

Я хочу знать, насколько полезна система типов в языке программирования. Например, я знаю, что на языке программирования с зависимой типизацией мы можем создать Vectorкласс, включающий размер вектора в сигнатуру типа. Это как фактический пример. Мы также можем написать функцию, appendиспользуя эти...