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

Commit 8d4bb89

Browse files
committed
Mark nodes with undecided predicates
1 parent e9cf660 commit 8d4bb89

1 file changed

Lines changed: 5 additions & 11 deletions

File tree

src/pyk/kcfg/explore.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -436,16 +436,14 @@ def extend_cterm(
436436
if depth > 0:
437437
return Step(cterm, depth, next_node_logs)
438438

439-
# Stuck, Vacuous
439+
# Stuck, Vacuous or Undecided
440440
if not next_cterms:
441441
if _is_vacuous:
442442
return Vacuous()
443+
if unknown_predicate is not None:
444+
return Undecided(unknown_predicate)
443445
return Stuck()
444446

445-
# Undecided
446-
if unknown_predicate is not None:
447-
return Undecided(cterm, unknown_predicate, depth)
448-
449447
# Cut rule
450448
if len(next_cterms) == 1:
451449
return Step(next_cterms[0], 1, next_node_logs, cut=True)
@@ -489,10 +487,8 @@ def log(message: str, *, warning: bool = False) -> None:
489487
kcfg.add_stuck(node.id)
490488
log(f'stuck node: {node.id}')
491489

492-
case Undecided(cterm, _, depth):
493-
next_node = kcfg.create_node(cterm)
494-
kcfg.add_undecided(next_node.id)
495-
kcfg.create_edge(node.id, next_node.id, depth)
490+
case Undecided(_):
491+
kcfg.add_undecided(node.id)
496492
log(f'undecided node: {node.id}')
497493

498494
case Abstract(cterm):
@@ -559,9 +555,7 @@ class Stuck(ExtendResult):
559555
@final
560556
@dataclass(frozen=True)
561557
class Undecided(ExtendResult):
562-
cterm: CTerm
563558
unknown_predicate: KInner
564-
depth: int
565559
...
566560

567561

0 commit comments

Comments
 (0)