Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dimension action composition is broken for diagonals #184

Open
jonsterling opened this issue Jul 27, 2018 · 1 comment
Open

dimension action composition is broken for diagonals #184

jonsterling opened this issue Jul 27, 2018 · 1 comment

Comments

@jonsterling
Copy link
Collaborator

This is something that was first noticed by favonia a while back, but I wanted to write it down so that we can theorize a fix. A diagonal dimension action [x = y] becomes either [y/x] or [x/y] depending on the total order of generic dimensions. But this information can cause the wrong thing to happen for composed substitutions.

Consider the following case:

   fix x0, x1, y where x0 < x1.

   [y / x1] o [x0 = x1]
   == [y / x1] o [x0 / x1]

On the other hand, suppose x1 > x0. then, we'd have

  [y / x1] o [x0 = x1]
  == [y / x1] o [x1 / x0]

The above would behave differently when applied to a term.

I think the problem is basically that we haven't really set any expectations about what composition of dimension substitutions should do. We should pick a semantics, and then ensure that all of redtt is sensible under that semantics.

@favonia
Copy link
Collaborator

favonia commented Sep 2, 2018

Will be solved by #270, hopefully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants