Определение типов пересечений в Coq - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь определить версию простейшего лямбда-исчисления плюс типы пересечений. Я попробовал следующее:

Inductive ty : Type :=
| Bool : ty
| Int : ty
| Arrow: ty -> ty -> ty
| Inters: ty ?? ty.

Кажется, я мог только добавить "->". В противном случае я получаю ошибку. Как я могу добавить новый конструктор?

1 Ответ

2 голосов
/ 08 февраля 2020

Вы хотите что-то вроде:

Inductive ty : Type :=
| Bool : ty
| Int : ty
| Arrow: ty -> ty -> ty
| Inters: ty -> ty -> ty.
...