Skip to content

Update to LocationVariable is ignored after pruning #3206

Description

@gewitternacht

Description

Sometimes the simplifyUpdate1/simplifyUpdate2 rules ignore updates, specifically to LoctionVaribales. This seems to be caused by preceding pruning.
In my case something like { ... || heapBefore_foo:=heap || ... }heapBefore_foo was "simplified" to heapBefore_foo instead of heap.

Reproducible

always

Steps to reproduce

  1. load the foo()-Method from Updates.java into KeY
  2. execute Full Auto Pilot→ the proof is closed
  3. prune the whole proof tree
  4. execute Full Auto Pilot again → the proof is not closed
  5. apply One Step Simplification on the remaining goal (Validity of the assertion)
    → the resulting formula contains self.modelMethod()@heapBefore_foo, which should be self.modelMethod() – the update heapBefore_foo:=heap should have been applied, but was ignored
  6. save the proof in its current state
  7. relaod the previously saved proof and go to the remaining goal
    → now the formula correctly contains self.modelMethod()

Updates.java.zip


Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions