-
Notifications
You must be signed in to change notification settings - Fork 9
Use default when checking for invariants on cycle heads #31
Use default when checking for invariants on cycle heads #31
Conversation
@MartinSpiessl can you have a quick look? Ultimate Automizer looses around 50 termination tasks because of this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, the code looks nice!
Just one thing, this is also a problem in the https://github.com/sosy-lab/sv-witnesses/blob/master/termination/README.md, isn't it?
The following sentence:
Thus, a node for which the cyclehead key is set, must also contain an invariant description.
Should probably be clarified by:
Thus, a node for which the cyclehead key is set to
true
, must also contain an invariant description.
Otherwise if I take the current form literally one could argue the linter is right, but this doesn't make sense of course, right? Could you also make that change to the termination format README.md
(without the bold face, that was just for highlighting what I changed)? Then this will be merged and I will create a new archive MR for the linter against https://gitlab.com/sosy-lab/sv-comp/archives-2021.
Oh, I see, the problem is actually the default value for the So my change request is actually a separate concern: @Eiram @danieldietsch @TBunk can you shed some light on this? I am not a termination expert so I really don't know what the right semantics should be here. We can also just merge this right away and discuss that change in a separate issue/PR given the closeness to the deadline. |
Ultimate does not require I just looked into the README and found this sentence from https://github.com/sosy-lab/sv-witnesses/blob/master/README.md#witnessing-program-termination
Perhaps the linter should not validate |
I also think you should merge this PR and we can discuss the rulings separately. |
Yeah, there is definitely more clarification needed. I would propose disabling the check via this PR now and creating a separate issue to discuss this further (after SV-COMP). Much like Michael Tautschnig did with the other PR: #29 Regarding the quote in #31 (comment), that is actually too short, the full paragraph reads:
So it is just about Ultimate's capabilities, and the claim is only that these keys will not lead to any rejection by Ultimate. |
Done. I left the collection of default values and the |
Sounds very good! I will merge this now and create a new MR to the SV-COMP 2021 archives repository |
The linter complains about
cyclehead
s that do not have aninvariant
attribute. This warning occurs for us in many of Ultimate's termination witnesses.This change relaxes that check to take into account the default value of the
invariant
key, i.e., if such a default is specified, no warning is issued.