You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While in the process of using the Substitution chapter for a personal project, I realized that commute-subst-rename, as it is written, does not translate to Contexts with variable names.
To understand why, just look at the implementation:
The ρ′ used in the lambda case can only be written because the context does not care about variable names. We're using the "wrong" variable. If you try to implement this with Context as below you'll see.
dataContext=dataContext:Setwhere∅ : Context
_:_,_ : Context → Id -> Type → Context
However, this is not needed, there is a simpler (and I think stronger, but I haven't proven this hypothesis) version of commute-subst-rename that also works for what we need and is quite less weird in its implementation (and arguments).
While in the process of using the Substitution chapter for a personal project, I realized that
commute-subst-rename
, as it is written, does not translate to Contexts with variable names.To understand why, just look at the implementation:
The
ρ′
used in the lambda case can only be written because the context does not care about variable names. We're using the "wrong" variable. If you try to implement this withContext
as below you'll see.However, this is not needed, there is a simpler (and I think stronger, but I haven't proven this hypothesis) version of
commute-subst-rename
that also works for what we need and is quite less weird in its implementation (and arguments).I propose changing to this version. I have a branch ready, now building, let me know if I can submit a PR.
The text was updated successfully, but these errors were encountered: