Skip to content

[core] Add LTL always operator#5439

Merged
fabianschuiki merged 1 commit into
mainfrom
fschuiki/ltl-always
Jul 17, 2026
Merged

[core] Add LTL always operator#5439
fabianschuiki merged 1 commit into
mainfrom
fschuiki/ltl-always

Conversation

@fabianschuiki

Copy link
Copy Markdown
Contributor

Add an always operator to the LTL property library as syntactic sugar around not(eventually(not(p))). This is a weak always, dual to the strong eventually, and maps to always prop in SVA.

@fabianschuiki fabianschuiki added the Feature New feature, will be included in release notes label Jul 16, 2026
@linux-foundation-easycla

linux-foundation-easycla Bot commented Jul 16, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: fabianschuiki / name: Fabian Schuiki (741b4cd)

Add an `always` operator to the LTL property library as syntactic sugar
around `not(eventually(not(p)))`. This is a weak always, dual to the
strong `eventually`, and maps to `always prop` in SVA.
@jackkoenig

Copy link
Copy Markdown
Contributor

Is this already supported by firtool or in an upcoming version?

@fabianschuiki

Copy link
Copy Markdown
Contributor Author

@jackkoenig No support needed, this is just syntactic sugar 🙂. There's a CIRCT change that tries to emit always keywords as an optimization, but that's independent from this PR. This can land and work in today's firtool.

@fabianschuiki
fabianschuiki merged commit 34ff28c into main Jul 17, 2026
28 checks passed
@fabianschuiki
fabianschuiki deleted the fschuiki/ltl-always branch July 17, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New feature, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants