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
Certain tactics and steps rely on external imports, but these operations will not produce sequents with assumptions. Consider for example:
// over yondervalab= have(A|-B) by Magicvalbc= 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 🤔
The text was updated successfully, but these errors were encountered:
sankalpgambhir
changed the title
Assumption handling in presence of imports
Assumption handling (lack thereof) in presence of imports
Apr 27, 2023
sankalpgambhir
changed the title
Assumption handling (lack thereof) in presence of imports
Assumption handling (or lack thereof) in presence of imports
Apr 27, 2023
Certain tactics and steps rely on external imports, but these operations will not produce sequents with assumptions. Consider for example:
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:
Is this a bug? Should I mark it as such? I think it is 🤔
The text was updated successfully, but these errors were encountered: