Γ, x : %self(x). T |- T : Type
------------------------------
%self(x). T : Type
Γ, x : %self(x). T |- M : T[x := %fix(x) : T. M]
------------------------------------------------
%fix(x) : T. M : %self(x). T
Γ |- M : %self(x). T
---------------------
%unroll M : T[x := M]
Γ |- N : P (%unroll (%fix(x) : T. M))
---------------------------------------
%expand(N) : P (M[x := %fix(x) : T. M])
----------------
%expand(N) === N
Created
June 27, 2023 05:04
-
-
Save EduardoRFS/b2f6f5602395b6936312f15c40a77de5 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment