Кодирование универсальных типов в терминах экзистенциальных типов?
В системе F тип exists a. P
может быть закодирован как forall b. (forall a. P -> b) -> b
в том смысле, что любой термин System F, использующий экзистенциал, может быть выражен в терминах этого кодирования с соблюдением правил типирования и сокращения.
В разделе "Типы и языки программирования" появляется следующее упражнение:
Можем ли мы кодировать универсальные типы в терминах экзистенциальных типов?
Моя интуиция говорит, что это невозможно, потому что в некотором смысле механизм "экзистенциальной упаковки" просто не так мощен, как механизм "абстрагирования типов". Как мне официально показать это?
Я даже не уверен, что мне нужно доказать, чтобы формально показать этот результат.