Skip to content

Conversation

@alexandertepaev
Copy link
Collaborator

No description provided.

@alexandertepaev alexandertepaev self-assigned this Nov 13, 2025
@alexandertepaev alexandertepaev added the enhancement New feature or request label Nov 13, 2025
@alexandertepaev
Copy link
Collaborator Author

Hi @lou1306. This PR adds possibility to do the model checking using BMC (probably a draft, feel free to build upon it).
When BMC verification is invoked, the user is asked to provide a BMC bound (or simply hit enter, in this case bound is defaulted to 20).
If we need tests, pls let me know where/which/how.

I am 99% sure that 'check_ltlspec_bmc' only supports finite-state
variables. Sadly the nuxmv API is a bit convoluted...
@lou1306
Copy link
Contributor

lou1306 commented Nov 18, 2025

Thank you! Made a few slight changes: now I just use the pre-existing formatting function, and I call msat_check_ltlspec_bmc in the backend instead of check_ltlspec_ic3. This should be the "best" command when the model is compiled with go_msat. As I mentioned in the commit, sadly the nuXmv "API" is not the cleanest!

Anyway, it looks good enough for a merge now.

@lou1306 lou1306 merged commit bba59f3 into master Nov 18, 2025
1 check passed
Copy link
Contributor

@lou1306 lou1306 left a comment

Choose a reason for hiding this comment

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

  • I do not think we need a separate formatting function, the one we used for IC3 should still work
  • I think msat_check_ltlspec_bmc should be called instead of check_ltlspec_bmc.

Apart from this, the PR looks solid!

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants