Skip to content
This repository was archived by the owner on Apr 25, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6c41d19
kcfg/kcfg: KCFG.prune takes list of nodes to keep, not keep_target an…
ehildenb Jun 17, 2023
73e0da9
proof/reachability: update how pending sets are calculated to use pre…
ehildenb Jun 19, 2023
5a8d819
kcfg/kcfg: simplify definition of KCFG.is_init and KCFG.is_leaf
ehildenb Jun 17, 2023
fcb12c3
kcfg/: remove notion of KCFG.frontier, replace with uses of KCFG.leaves
ehildenb Jun 17, 2023
c63b099
kcfg/kcfg: remove explicit KCFG._init set
ehildenb Jun 17, 2023
d676cd4
kcfg/show: remove some special handling of target in KCFGShow.pretty_…
ehildenb Jun 17, 2023
059990e
kcfg/show: factor out KCFGShow.make_unique_segments for ensuring uniq…
ehildenb Jun 17, 2023
5a9fe38
kcfg/show: do not pass in cfgid to KCFG.{show,to_module}, instead pas…
ehildenb Jun 17, 2023
f9401bc
kcfg/kcfg: move method path_length as static method KCFG.path_length
ehildenb Jun 17, 2023
964cdc8
kast/{manip,pretty}, kcfg/show: make it so sort_ac_collections does n…
ehildenb Jun 17, 2023
4affd5f
kcfg/{kcfg,show}: add KCFG.to_module, and use in KCFGShow.show
ehildenb Jun 18, 2023
c3af99c
kcfg/{kcfg,explore,show}, proof/reachability: remove expanded notion …
ehildenb Jun 18, 2023
c834e24
proof/show: add APRProofShow class for displaying APRProof
ehildenb Jun 19, 2023
6a23c0a
kcfg/show: make sure to write dot source, not dot directly
ehildenb Jun 19, 2023
65cbe13
kcfg/{kcfg,show}, proof/reachability: remove notion of target nodes
ehildenb Jun 19, 2023
36477fb
proof/reachability: remove redundant check for is_covered in pending …
ehildenb Jun 19, 2023
b2b178e
Merge 36477fb601192ce5cc8308111d5b43fab5a85399 into b1f057583b4fb335b…
ehildenb Jun 19, 2023
2f411d7
Set Version: 0.1.338
rv-auditor Jun 19, 2023
21ae562
kcfg/show: allow omitting cells in module production in KCFGShow as well
ehildenb Jun 19, 2023
815d40c
proof/show: formatting
ehildenb Jun 19, 2023
73925cf
kcfg/show: slighly more spacing on node printing
ehildenb Jun 19, 2023
7d5585e
src/tests/integration/kcfg/test_imp: correct test for terminal/stuck
ehildenb Jun 19, 2023
a9b594e
.github/test-pr: upgrade from macos-11 => macos-13
ehildenb Jun 19, 2023
84f6167
Merge branch 'master' into kcfg-remove-target
ehildenb Jun 19, 2023
c241bc0
Merge 84f6167e0583dadec0bf8f60a9251fcfe325fede into be262783d22ac29ab…
ehildenb Jun 19, 2023
20cda83
Set Version: 0.1.340
rv-auditor Jun 19, 2023
c21f8bb
kcfg/{kcfg,show}: rename KCFG.init => KCFG.root
ehildenb Jun 20, 2023
4b80ad4
tests/unit/test_kcfg: no need for target in KCFG input dicts
ehildenb Jun 20, 2023
2a2faf2
Merge branch 'master' into kcfg-remove-target
rv-jenkins Jun 20, 2023
5fb9539
Merge 2a2faf28507f57e4928695aa9e840bf2141c1f83 into 606bd702c6077fd7b…
ehildenb Jun 20, 2023
776c4ec
Set Version: 0.1.341
rv-auditor Jun 20, 2023
824af95
proof/reachability: adjust printing of summaries
ehildenb Jun 20, 2023
73d4c82
proof/reachability: refactor how status is calculated based on predic…
ehildenb Jun 20, 2023
db94b5f
proof/reachability: update status fields
ehildenb Jun 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.339
0.1.340
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "pyk"
version = "0.1.339"
version = "0.1.340"
description = ""
authors = [
"Runtime Verification, Inc. <[email protected]>",
Expand Down
11 changes: 2 additions & 9 deletions src/pyk/kast/manip.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,9 @@ def sort_assoc_label(label: str, kast: KInner) -> KInner:
return kast


def sort_ac_collections(definition: KDefinition, kast: KInner) -> KInner:
ac_hooks = {'MAP.concat', 'SET.concat', 'BAG.concat'}
ac_collections = [
prod.klabel.name
for prod in definition.productions
if prod.klabel is not None and 'hook' in prod.att and prod.att['hook'] in ac_hooks
]

def sort_ac_collections(kast: KInner) -> KInner:
def _sort_ac_collections(_kast: KInner) -> KInner:
if type(_kast) is KApply and _kast.label.name in ac_collections:
if type(_kast) is KApply and (_kast.label.name in {'_Set_', '_Map_'} or _kast.label.name.endswith('CellMap_')):
return sort_assoc_label(_kast.label.name, _kast)
return _kast

Expand Down
2 changes: 1 addition & 1 deletion src/pyk/kast/pretty.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def print(self, kast: KAst) -> str:
if self._unalias:
kast = undo_aliases(self.definition, kast)
if self._sort_collections:
kast = sort_ac_collections(self.definition, kast)
kast = sort_ac_collections(kast)
return self._print_kinner(kast)
raise AssertionError(f'Error unparsing: {kast}')

Expand Down
9 changes: 5 additions & 4 deletions src/pyk/kcfg/explore.py
Original file line number Diff line number Diff line change
Expand Up @@ -378,10 +378,10 @@ def extend(
cut_point_rules: Iterable[str] = (),
terminal_rules: Iterable[str] = (),
) -> None:
if not kcfg.is_frontier(node.id):
raise ValueError(f'Cannot extend non-frontier node {self.id}: {node.id}')

kcfg.add_expanded(node.id)
if not kcfg.is_leaf(node.id):
raise ValueError(f'Cannot extend non-leaf node {self.id}: {node.id}')
if kcfg.is_stuck(node.id):
raise ValueError(f'Cannot extend stuck node {self.id}: {node.id}')

_LOGGER.info(f'Extending KCFG from node {self.id}: {shorten_hashes(node.id)}')
depth, cterm, next_cterms, next_node_logs = self.cterm_execute(
Expand All @@ -399,6 +399,7 @@ def extend(

# Stuck
elif len(next_cterms) == 0:
kcfg.add_stuck(node.id)
_LOGGER.info(f'Found stuck node {self.id}: {shorten_hashes(node.id)}')

# Cut Rule
Expand Down
Loading