This repository was archived by the owner on Apr 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We should be able to delete this line after this change, and tests still pass: pyk/src/pyk/kcfg/exploration.py Line 108 in f6d629e
|
…fication/pyk into noah/node-attributes
…fication/pyk into noah/node-attributes
…ttributes are updated
…fication/pyk into noah/node-attributes
Correct, a node attribute shouldn't change depending on where in the KCFG it is or what the user has marked, it sohuld only by what is true for that node in isolation. |
…fication/pyk into noah/node-attributes
ehildenb
reviewed
Mar 28, 2024
ehildenb
reviewed
Mar 28, 2024
ehildenb
approved these changes
Mar 28, 2024
ehildenb
reviewed
Mar 28, 2024
Baltoli
pushed a commit
to runtimeverification/k
that referenced
this pull request
Apr 9, 2024
Fixes: runtimeverification/pyk#965 Stores node attributes `terminal`,`stuck`, and `vacuous` in nodes rather than in KCFG or KCFGExploration. - adds `attr` field to KCFG.Node - adds enums `NodeAttr` (base), `KCFGNodeAttr`, and `KCFGExplorationNodeAttr` - adds `add_attr`, `remove_attr`, and `discard_attr` to kcfg for updating the attrs of a given node, which replaces the node with a new one, since nodes are immutable. - `replace_node` now takes a node. `let_node` is now for updating specific fields of nodes. - Checks `terminal`, `stuck`, and `vacuous` by reference to the attributes on the node - Removes separate `terminal`, `stuck` and `vacuous` lists. - `from_dict` and `to_dict` on `Node` and `KCFG` updated to store relevant attributes in the node dicts. `KCFGStore` translates to and from the existing on-disk format. - Tests in `test_proof.py` previously using `read_proof` and `write_proof` are now using `read_proof_data` and `write_proof_data`, since the older way of reading and writing does not use the `KCFGStore` and relies on `KCFG.to_dict` directly, without the translation. --------- Co-authored-by: devops <[email protected]>
Baltoli
pushed a commit
to runtimeverification/k
that referenced
this pull request
Apr 9, 2024
Fixes: runtimeverification/pyk#965 Stores node attributes `terminal`,`stuck`, and `vacuous` in nodes rather than in KCFG or KCFGExploration. - adds `attr` field to KCFG.Node - adds enums `NodeAttr` (base), `KCFGNodeAttr`, and `KCFGExplorationNodeAttr` - adds `add_attr`, `remove_attr`, and `discard_attr` to kcfg for updating the attrs of a given node, which replaces the node with a new one, since nodes are immutable. - `replace_node` now takes a node. `let_node` is now for updating specific fields of nodes. - Checks `terminal`, `stuck`, and `vacuous` by reference to the attributes on the node - Removes separate `terminal`, `stuck` and `vacuous` lists. - `from_dict` and `to_dict` on `Node` and `KCFG` updated to store relevant attributes in the node dicts. `KCFGStore` translates to and from the existing on-disk format. - Tests in `test_proof.py` previously using `read_proof` and `write_proof` are now using `read_proof_data` and `write_proof_data`, since the older way of reading and writing does not use the `KCFGStore` and relies on `KCFG.to_dict` directly, without the translation. --------- Co-authored-by: devops <[email protected]>
Baltoli
pushed a commit
to runtimeverification/k
that referenced
this pull request
Apr 10, 2024
Fixes: runtimeverification/pyk#965 Stores node attributes `terminal`,`stuck`, and `vacuous` in nodes rather than in KCFG or KCFGExploration. - adds `attr` field to KCFG.Node - adds enums `NodeAttr` (base), `KCFGNodeAttr`, and `KCFGExplorationNodeAttr` - adds `add_attr`, `remove_attr`, and `discard_attr` to kcfg for updating the attrs of a given node, which replaces the node with a new one, since nodes are immutable. - `replace_node` now takes a node. `let_node` is now for updating specific fields of nodes. - Checks `terminal`, `stuck`, and `vacuous` by reference to the attributes on the node - Removes separate `terminal`, `stuck` and `vacuous` lists. - `from_dict` and `to_dict` on `Node` and `KCFG` updated to store relevant attributes in the node dicts. `KCFGStore` translates to and from the existing on-disk format. - Tests in `test_proof.py` previously using `read_proof` and `write_proof` are now using `read_proof_data` and `write_proof_data`, since the older way of reading and writing does not use the `KCFGStore` and relies on `KCFG.to_dict` directly, without the translation. --------- Co-authored-by: devops <[email protected]>
Baltoli
pushed a commit
to runtimeverification/k
that referenced
this pull request
Apr 10, 2024
Fixes: runtimeverification/pyk#965 Stores node attributes `terminal`,`stuck`, and `vacuous` in nodes rather than in KCFG or KCFGExploration. - adds `attr` field to KCFG.Node - adds enums `NodeAttr` (base), `KCFGNodeAttr`, and `KCFGExplorationNodeAttr` - adds `add_attr`, `remove_attr`, and `discard_attr` to kcfg for updating the attrs of a given node, which replaces the node with a new one, since nodes are immutable. - `replace_node` now takes a node. `let_node` is now for updating specific fields of nodes. - Checks `terminal`, `stuck`, and `vacuous` by reference to the attributes on the node - Removes separate `terminal`, `stuck` and `vacuous` lists. - `from_dict` and `to_dict` on `Node` and `KCFG` updated to store relevant attributes in the node dicts. `KCFGStore` translates to and from the existing on-disk format. - Tests in `test_proof.py` previously using `read_proof` and `write_proof` are now using `read_proof_data` and `write_proof_data`, since the older way of reading and writing does not use the `KCFGStore` and relies on `KCFG.to_dict` directly, without the translation. --------- Co-authored-by: devops <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #965
Stores node attributes
terminal
,stuck
, andvacuous
in nodes rather than in KCFG or KCFGExploration.attr
field to KCFG.NodeNodeAttr
(base),KCFGNodeAttr
, andKCFGExplorationNodeAttr
add_attr
,remove_attr
, anddiscard_attr
to kcfg for updating the attrs of a given node, which replaces the node with a new one, since nodes are immutable.replace_node
now takes a node.let_node
is now for updating specific fields of nodes.terminal
,stuck
, andvacuous
by reference to the attributes on the nodeterminal
,stuck
andvacuous
lists.from_dict
andto_dict
onNode
andKCFG
updated to store relevant attributes in the node dicts.KCFGStore
translates to and from the existing on-disk format.test_proof.py
previously usingread_proof
andwrite_proof
are now usingread_proof_data
andwrite_proof_data
, since the older way of reading and writing does not use theKCFGStore
and relies onKCFG.to_dict
directly, without the translation.