Skip to content
This repository was archived by the owner on Apr 25, 2024. It is now read-only.

Add support for vacuous nodes #587

Merged
merged 36 commits into from
Sep 8, 2023
Merged

Add support for vacuous nodes #587

merged 36 commits into from
Sep 8, 2023

Conversation

anvacaru
Copy link
Contributor

@anvacaru anvacaru commented Aug 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.
Screenshot 2023-08-08 at 16 42 48

@anvacaru anvacaru self-assigned this Aug 8, 2023
@tothtamas28 tothtamas28 requested a review from ehildenb August 9, 2023 09:27
@anvacaru anvacaru requested a review from nwatson22 August 11, 2023 02:06
@anvacaru
Copy link
Contributor Author

blocked on: runtimeverification/hs-backend-booster#268

@iFrostizz
Copy link
Contributor

@anvacaru now that pyk can handle Bottom and Top responses from the backend, a Bottom CTerm when building the kcfg could be marked as vacuous #621

@rv-jenkins rv-jenkins merged commit 16b75f5 into master Sep 8, 2023
@rv-jenkins rv-jenkins deleted the anvacaru/vacuous-2 branch September 8, 2023 09:25
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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants