Skip to content

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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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 <devops@runtimeverification.com>
Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com>
Co-authored-by: Petar Maksimović <PetarMax@users.noreply.github.com>
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.

4 participants