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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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