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

Harpoon removes a substitution variable from the scope when splitting on a variable using the substitution #211

Open
Ailrun opened this issue Apr 4, 2020 · 2 comments
Labels
A | harpoon affecting the Harpoon interactive prover B | enhancement new features P | low low priority issue

Comments

@Ailrun
Copy link
Member

Ailrun commented Apr 4, 2020

The last theorem of f7d0d7a, namely

anti-renameSN
{g : cxt} {g' : cxt} {$R : [g' |-# g]} {M : [g |- tm A[]]} SN [g' |- M[$R]] -> SN [g |- M]

shows the problem.

When splitting on a variable whose type is SNRed' [g' |- $R[..]] [g |- M] [g' |- N[$R[..]]], the substitution variable $R goes out of the scope and it is not possible to use it inside of the necessary command

solve SRed x3 (anti-renameSN [g] [g'] [g' |- $R] [g |- N] x2)

Also, it is not possible to use _ instead of $R since the syntax is not allowed for substitution variables.

@Ailrun Ailrun added B | bug unexpected or incorrect behaviour A | harpoon affecting the Harpoon interactive prover labels Apr 4, 2020
@Ailrun Ailrun added this to the v1.0 milestone Apr 4, 2020
@Ailrun Ailrun assigned Ailrun and unassigned Ailrun Apr 6, 2020
@Ailrun
Copy link
Member Author

Ailrun commented Apr 7, 2020

Workaround: convert constructors of SNRed' type to use only explicit meta-variables.

@Ailrun Ailrun modified the milestones: v1.0, v2.0 Apr 7, 2020
@Ailrun Ailrun added P | low low priority issue B | enhancement new features and removed B | bug unexpected or incorrect behaviour labels Apr 9, 2020
@Ailrun
Copy link
Member Author

Ailrun commented May 1, 2020

FYI: This is an intended behavior but I think it would be great if it is possible to ameliorate this restriction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A | harpoon affecting the Harpoon interactive prover B | enhancement new features P | low low priority issue
Projects
None yet
Development

No branches or pull requests

1 participant