Есть такой гендерный вопрос: я правильно понимаю, что тут доказательство в том, чтобы от `map(map(y)(g))(f) == map(y)(f compose g) путем подстановок нужно прийти к `map(y)(id) == y?
Великий человек John C. Reynolds придумал, то ли взял откуда-то оч интересный подход к анализу языковых термов через логические отношения ( множества пар элементов)
Сформулировал и доказал некоторое свойство для полиморфной лямбды, которое он назвал теоремой абстракции, но она закрепилась в истории как Parametricity
Это специфическое свойство параметрически полиморфных калкулусов быть не зависимыми от аргументов типов. Можно освязать со стираемостью женериков, если хочешь