Skip to content

Return vacuous in kore-rpc when state goes to #bottom #3637

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

Merged
merged 11 commits into from
Aug 9, 2023

Conversation

goodlyrottenapple
Copy link
Contributor

@goodlyrottenapple goodlyrottenapple commented Aug 4, 2023

Another attempt at addressing runtimeverification/evm-semantics#1944. Addresses #3630 (needs a follow-up in booster)

This change mimicks what kore-exe in prover mode returns(as introduced by #2451), namely the configuration goes to bottom

@goodlyrottenapple goodlyrottenapple changed the title DRAFT Return bottom when all branches are bottom Return vacuous in kore-rpc when state goes to #bottom Aug 7, 2023
@goodlyrottenapple goodlyrottenapple marked this pull request as ready for review August 8, 2023 11:44
@goodlyrottenapple goodlyrottenapple merged commit be6592d into master Aug 9, 2023
@goodlyrottenapple goodlyrottenapple deleted the sam/vacuous branch August 9, 2023 13:48
goodlyrottenapple added a commit that referenced this pull request Sep 7, 2023
Fix for change introduced by #3637, wherein branching could contain
bottom states which were not being pruned. (see
runtimeverification/pyk#634 (comment))
rv-jenkins pushed a commit to runtimeverification/pyk that referenced this pull request Sep 8, 2023
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
With runtimeverification/haskell-backend#3637,
kore-rpc returns a new response with a `vacuous` stop reason and the
current state before rewriting the state to `#Bottom`.

Changes in this PR:
- added a new set `vacuous` to the kcfg. The reason to add the set here
and not in the `APRProof` is that the response comes from the backend,
and is not semantics related.
- modified `cterm_execute` to return if the result is vacuous.
- modified `extend` to add a `vacuous` node to the kcfg if
`cterm_execute` gets a `vacuous` response.
- modified `APRProof` and `APRBMCProof` to prevent marking `vacuous`
nodes as `pending` or `failing`.
- modified proof summaries to include `vacuous`.

<img width="827" alt="Screenshot 2023-08-08 at 16 42 48"
src="https://github.com/runtimeverification/pyk/assets/16517508/5e20228e-03e0-412f-8fb1-c5f9ac340ad9">

---------

Co-authored-by: devops <[email protected]>
Co-authored-by: Petar Maksimovic <[email protected]>
Co-authored-by: Petar Maksimović <[email protected]>
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.

3 participants