Lifting currently assumes that the new index is not A itself, and does not refer to A. That means that we can't handle refinement types like is_positive and is_even. There are some conceptual difficulties to handling this, but they are an interesting set of types worth handling. Essentially, the issue is that lifting needs to prevent itself from infinitely recursing once it lifts.
I believe this assumption was also accidentally omitted in the paper submission, so it should either be fixed before publication, or the paper should add the assumption to address it.
Lifting currently assumes that the new index is not A itself, and does not refer to A. That means that we can't handle refinement types like is_positive and is_even. There are some conceptual difficulties to handling this, but they are an interesting set of types worth handling. Essentially, the issue is that lifting needs to prevent itself from infinitely recursing once it lifts.
I believe this assumption was also accidentally omitted in the paper submission, so it should either be fixed before publication, or the paper should add the assumption to address it.