pyfcstm.verify.encoding
Verification encoding helpers for FCSTM runtime semantics.
The encoding package is an internal implementation layer used by
pyfcstm.verify.algorithms. It translates FCSTM runtime semantics into
Z3 expressions, operation environments, initial-entry contexts, and lifecycle
condition points. Public callers should normally use the algorithm functions
exported from pyfcstm.verify instead of importing these helpers.
Encoding map:
Module |
Responsibility |
Main consumers |
|---|---|---|
Expression translation with runtime-definedness constraints. |
Guard, effect, and lifecycle algorithms. |
|
Transition guard translation and guard-domain extraction. |
Guard and effect algorithms. |
|
Declaration initializer constraints and root initial path contexts. |
Forced-guard, lifecycle, and composite-initial algorithms. |
|
Path-sensitive operation execution wrappers. |
Effect and lifecycle algorithms. |
|
Event and guard trigger encoding for transitions. |
Transition-shadow and composite-initial algorithms. |
|
First-cycle lifecycle operation and condition extraction. |
Lifecycle algorithms. |
|
Shared implementation details re-exported by the thin topic modules. |
Maintainers only. |
Example:
>>> from pyfcstm.verify.encoding import expr
>>> # Topic modules expose helpers, but public checks live in pyfcstm.verify.
>>> hasattr(expr, "_expr_z3_and_domains_or_result")
True
__all__
- pyfcstm.verify.encoding.__all__ = ['expr', 'guard', 'initial', 'lifecycle', 'operation', 'trigger']
Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.