Skip to content

Temporal logic: restrict LTL_to_CTL to common fragment#2003

Open
kroening wants to merge 2 commits into
mainfrom
dkr-ltl-to-ctl-fragment
Open

Temporal logic: restrict LTL_to_CTL to common fragment#2003
kroening wants to merge 2 commits into
mainfrom
dkr-ltl-to-ctl-fragment

Conversation

@kroening

@kroening kroening commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Restrict LTL_to_CTL to the LTLdet fragment from Maidl's common-fragment result instead of recursively rewriting arbitrary F and G.

This keeps supported BDD LTL cases such as Gp and GFp, rejects unsupported formulas such as FGp and FXXp, and adds direct unit coverage for LTL_to_CTL.

Testing

  • make -C src/temporal-logic
  • make -C src/ebmc
  • make -C unit
  • src/ebmc/ebmc regression/smv/LTL/smv_ltlspec1.smv --bdd
  • src/ebmc/ebmc regression/smv/LTL/smv_ltlspec2.smv --bdd
  • src/ebmc/ebmc regression/smv/LTL/smv_ltlspec_FG1.smv --bdd
  • src/ebmc/ebmc regression/smv/LTL/smv_ltlspec_FX1.smv --bdd

Implement the LTLdet fragment from Maidl's common-fragment result instead of recursively rewriting arbitrary F and G.

Keep supported BDD LTL cases such as Gp and GFp, reject unsupported formulas such as FGp and FXXp, and add direct unit coverage for LTL_to_CTL.
or_exprt{
and_exprt{p, AX_exprt{q}},
and_exprt{not_exprt{p}, r}}});
or_exprt{and_exprt{p, AX_exprt{q}}, and_exprt{not_exprt{p}, r}}});

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, did clang-format changes get folded into this commit? I don't see a semantic difference in this line (similarly the case for others in this commit).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants