Между конечными деревьями и конечными списками можно построить взаимооднозначное соответствие. Однако, потенциально бесконечные объекты уже не будут сопоставляться, вроде бы. Даже если вовлечь экспоненты, вроде

, задача построения биекции в разы усложнится.
Ну, если взять тот же Haskell, то там получится

(незавершающееся вычисление,
undefined),

,

и т.п.
В Haskell

в принципе является экземпляром некоторого типа, тем не менее, несколько ущербным, как бы так выразиться по-лучше. В вопросах вычислимости/невычислимости я не разбираюсь, но на интуитивном уровне понимаю так:
Можно написать несколько функций так, что на аргументах

и

они будут по-разному реагировать (имеется в виду, возвращать

или возвращать нормальное значение).
Не знаю, я читал только базовые книги типа Барендрегта и разные блоги по категории типов Haskell. Ничего такого я там не видел. Ну то есть есть
https://chris-taylor.github.io/blog/201 ... ata-types/ , но это в другую сторону.
Интересная ссылка. В начале автор делает некоторые рассуждения, как бы вводя алгебру, причём делает некоторые «дикие» шаги, вроде вычитания и деления. Как раз из этих общих рассуждений я и исходил, но интересует формализация, которая бы позволила автоматически выводить равенства, строго и формально.
Интересная ссылка на «Семь деревьев в одном».
В конце описываются производные типов. Кстати, не далее, как 2 недели назад, попалась статья Conor McBride
The Derivative of a Regular Type is its Type of One-Hole Contexts, где автор пробует формализовать однодырочный контекст и производную.
upd. Что интересно, в этой статье автор использует нотацию

для обозначения рекурсивного типа

, удовлетворяющего
![$F = T[y:=F]$ $F = T[y:=F]$](https://dxdy-01.korotkov.co.uk/f/c/a/4/ca4b5415dfa1961e610ee8b5f610682182.png)
. То есть он не вводит операторы над типами и оператор Fix, а как бы упрощённо вводит рекурсию в систему типов.
Есть еще Homotopy type theory, там это как раз можно выразить как равенство типов, но там все сложно, одними аксиомами с равенством не обойдешься.
Спасибо, посмотрю.
Одна аксиома

или

не задает тип однозначно. С помощью Выших аксиом мы можем доказать, что

удовлетворяет соотношению

, но не можем отождествить его с

. Я вообще плохо представляю, как выразить минимальность рекурсивного типа, используя только равенства.
Да, из

и

нельзя на основании имеющихся аксиом отождествить

и

. Поэтому система должна располагать каким-то механизмом, который позволил бы делать такие заключения. В данном случае это мне кажется правильным.
Или, например, из

и

отождествлять

и

при

.
А вот из

и

отождествление уже не уместно, разве что только при

(можно сократить). Хотя здесь всё только на словах.
В целом, думаю, Вы поняли суть моего вопроса. Особо меня интересует случай системы с операторами над типами.