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

Fix doXover on the new semantics #395

Merged
merged 10 commits into from
Feb 3, 2025
Merged

Conversation

jcp19
Copy link
Contributor

@jcp19 jcp19 commented Feb 2, 2025

Based on #387. Turns out that the proof of doXover is rightly rejected in the new semantics, and the reason it was accepted in the first place was due to an unsoundness in silicon (viperproject/silicon#894). Despite the old proof being wrongly accepted, the specs are true, and thus, this unsoundness had a very restricted effect in the project.

@jcp19 jcp19 changed the base branch from master to drop_fractions_functions February 2, 2025 19:32
@jcp19 jcp19 marked this pull request as draft February 2, 2025 21:17
@jcp19 jcp19 marked this pull request as ready for review February 2, 2025 22:19
@jcp19 jcp19 merged commit f032c9b into drop_fractions_functions Feb 3, 2025
4 checks passed
@jcp19 jcp19 deleted the fix-doxover branch February 3, 2025 13:32
jcp19 added a commit that referenced this pull request Feb 3, 2025
)

* test

* Apply suggestions from code review

* Update pkg/slayers/path/epic/epic_spec.gobra

* Update pkg/slayers/path/epic/epic_spec.gobra

* drop unnecessary formalization of waitgroups

* tiny change

* drop access predicates

* stabilize verification conditions that now fail

* fix yet one more proof obligation; extract code into additional theorem

* yet another proof obligation fixed

* refactor widen lemma for HopField to reuse a previous proof

* fix bad triggers generated by Gobra

* Refactor parts of scion_spec.gobra for proof stability (#389)

* backup

* cleanup

* Update pkg/slayers/scion.go

* Update pkg/slayers/scion_spec.gobra

* backup

* backup

* backup

* backup

* fix proof obligation in CurrSegEquality

* drop Uncallable

* fix outstanding proof obligations

* drop unnecessary function

* backup

* restore old spec

* add gobra action cfg

* Update pkg/slayers/path/path_spec.gobra

* Fix `doXover` on the new semantics (#395)

* start

* identify problematic postconditions

* drop one assumption

* drop comments

* fix proof of new postconditions of XoverLemma

* small simplifications

* drop yet another assumption

* drop last assumption
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant