2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Экзистенциальные типы: эквивалентность объектов
Сообщение04.07.2016, 19:55 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.
Рассматривается система Ж.И. Жирара с параметрическим полиморфизмом и типовыми операторами.
Пусть $F:*\to *$ — некий функтор (или просто типовый оператор)
Определим экзистенциальный тип $L = \forall \gamma(\forall \beta(F(\beta)\to\gamma)\to\gamma)$.
Пусть $g:L$. Произведём декомпозицию объекта: $g_\gamma (\Lambda\beta. \lambda h:F(\beta). \ldots)$.
Теперь на месте троеточия в контексте тех самых существующих $\beta$ и $h:F(\beta)$ воссоздадим объект $g$:
$$g' = g_{L} \big( \Lambda\beta. \, \lambda h:F(\beta).\, \Lambda\gamma.\, \lambda f:\forall\zeta(F(\zeta)\to\gamma). \, f_\beta h \big)$$
Интуиция и здравый смысл мне говорят, что если и не $g=g'$, то они хоть как-то должны быть связаны (мб, через изоморфизм).
Как бы это доказать? Можно делать любые удобные допущения, вроде экстенсиональности.

У Жирара, Душкина, Пирса, Барендрегта, Геверса ничего не обнаружил по этому вопросу.

-- Пн июл 04, 2016 21:05:20 --

Если предположить, что для некоторого типа $\Phi$ и некоторого терма $M:F(\Phi)$ выполняется $$g=\Lambda\gamma. \; \lambda f:\forall\beta(F(\beta)\to\gamma). \; f_{F(\Phi)}M,$$ то всё доказывается прямолинейно. Но как быть в общем случае?

Я пробовал выписать бесплатную теорему для L, но не увидел, как из неё следует что-то полезное по этой задаче.

 Профиль  
                  
 
 Re: Экзистенциальные типы: эквивалентность объектов
Сообщение24.07.2016, 13:34 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Mysterious Light в сообщении #1135733 писал(а):
Если предположить, что для некоторого типа $\Phi$ и некоторого терма $M:F(\Phi)$ выполняется $$g=\Lambda\gamma. \; \lambda f:\forall\beta(F(\beta)\to\gamma). \; f_{F(\Phi)}M,$$ то всё доказывается прямолинейно.
А это разве не в точности то, что наш универсальный тип $\forall \gamma (\forall \beta (F\beta \to \gamma) \to \gamma)$ изоморфен экзистенциальному типу $\exists \beta . F\beta$? Я, честно говоря, не знаю, как это доказывается.

 Профиль  
                  
 
 Re: Экзистенциальные типы: эквивалентность объектов
Сообщение24.07.2016, 15:48 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.
Xaositect в сообщении #1139834 писал(а):
Mysterious Light в сообщении #1135733 писал(а):
Если предположить, что для некоторого типа $\Phi$ и некоторого терма $M:F(\Phi)$ выполняется $$g=\Lambda\gamma. \; \lambda f:\forall\beta(F(\beta)\to\gamma). \; f_{F(\Phi)}M,$$ то всё доказывается прямолинейно.
А это разве не в точности то, что наш универсальный тип $\forall \gamma (\forall \beta (F\beta \to \gamma) \to \gamma)$ изоморфен экзистенциальному типу $\exists \beta . F\beta$? Я, честно говоря, не знаю, как это доказывается.

В той литературе, которую я читал, можно выделить два подхода:
1. Экзистенциальный тип $\exists \beta. F\beta$ как синоним $\forall \gamma. (\forall \beta. F\beta\to\gamma)\to\gamma$.
2. Экзстенциальный тип как отдельная синтаксическая конструкция (например, Пирс «Типы в языках программирования») со своими introduction/exclusion правилами.

Мой вопрос звучит как-то так: почему, если мы распакуем объект и упакуем заново, мы получим то же самое. Какие условия достаточно наложить, чтобы после такой перепаковки мы получили в точности то, что имели.
Это как для пары $p=(\pi_1p,\pi_2p)$ — распаковали, упаковали, получили то же самое.

 Профиль  
                  
 
 Re: Экзистенциальные типы: эквивалентность объектов
Сообщение24.07.2016, 17:05 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Я нашел нужное утверждение (о том, что любой терм экстенсионально равен упаковке $\Lambda\gamma .  \lambda f\colon\forall\beta(F\beta\to\gamma) . f_{FX} x$, в статье "A logic for parametric polymorphism", параграф 3.3.

 Профиль  
                  
 
 Re: Экзистенциальные типы: эквивалентность объектов
Сообщение25.07.2016, 19:06 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.
Большое спасибо!
Это как раз то, что я искал.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: mihaild


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group