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

Assumption handling (or lack thereof) in presence of imports #161

Open
sankalpgambhir opened this issue Apr 27, 2023 · 0 comments
Open

Assumption handling (or lack thereof) in presence of imports #161

sankalpgambhir opened this issue Apr 27, 2023 · 0 comments
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@sankalpgambhir
Copy link
Member

sankalpgambhir commented Apr 27, 2023

Certain tactics and steps rely on external imports, but these operations will not produce sequents with assumptions. Consider for example:

// over yonder
val ab = have(A |- B) by Magic
val bc = have(B |- C) by Magic

// new running proof
assume(D)
have(A |- C) by Cut(ab, bc)
// internally this becomes:
// have({D, A} |- C) by Cut(ab, bc)
// which obviously fails :( 

This was found in the case of instantiating definitions, where a definition cannot be instantiated in the presence of assumptions as it is a weakened sequent.

Solutions:

  • make all tactics allow weakened premises. This could sometimes have counterintuitive results (but I will have to work to find a good example).
  • handle assumption tracking more carefully. This brings a lot of complexity to the system, and may be detrimental to predictability.

Is this a bug? Should I mark it as such? I think it is 🤔

@sankalpgambhir sankalpgambhir added bug Something isn't working enhancement New feature or request labels Apr 27, 2023
@sankalpgambhir sankalpgambhir changed the title Assumption handling in presence of imports Assumption handling (lack thereof) in presence of imports Apr 27, 2023
@sankalpgambhir sankalpgambhir changed the title Assumption handling (lack thereof) in presence of imports Assumption handling (or lack thereof) in presence of imports Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants