-
Notifications
You must be signed in to change notification settings - Fork 27
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
KeY proofs cannot be replayed if certain labels are present #3483
Comments
One relatively cheap fix is to simply ignore the position in case it is no longer there and add it to the beginning. But then (when loading) follow-up rules may not be applicable. |
The problem in this case seems to be somewhere else: The problem parser discards the antecedent and only parses the succedent. @wadoon is parsing problems with a non-empty antecedent supposed to be supported or not? If not, is this documented? @mattulbrich I don't quite remember the conversation we had. In the original situation, was there also a non-empty antecent or is there in fact another problem? If it's the latter, can you send me the example? |
Being able to specify a sequent in the problem section is a relatively new feature in key. I think it is quite relevant. I assume that because of its novelty the feature had not been used for saving files yet. It should probably get a bug report on its own.I can send you the original problem file -- but it has a few 10k proof steps.
|
@flo2702 I just wanted to take a look at the bug and the patch or fix you mentioned. However, I cannot find the proposed patch, so could you maybe give me a pointer? |
Description
If certain labels are present on a term and a find-and-add taclet is applied, stored proofs cannot be replayed/loaded.
The problem is that the recomputation of the labels modifies the sequent (although there is no replacewith-term). The place for inserting a formula, on the other hand, is determined by the PosInOccurrence of the find term. But that is no longer on the sequent. So finding it on the sequent fails.
This occurred in a 160k+ steps proof, but can be reduced to a minimal example.
Reproducible
always. Minimal example identified and attached.
Steps to reproduce
r
on(2)<<origin("ensures (implicit)", "[]")>>
.The file content is
It makes sense to switch on term labels if you deactivated them.
Additional information
In the original situation, the error was slightly different. ...
Stacktrace:
The text was updated successfully, but these errors were encountered: