Skip to content

[ElasticMiter] Fixed State Counting#541

Draft
shundroid wants to merge 3 commits intomainfrom
dev/shundroid/fix-elastic-miter
Draft

[ElasticMiter] Fixed State Counting#541
shundroid wants to merge 3 commits intomainfrom
dev/shundroid/fix-elastic-miter

Conversation

@shundroid
Copy link
Collaborator

@shundroid shundroid commented Jul 20, 2025

Problem

ElasticMiter unifies some states reported by NuSMV into one, when counting reachable states, to ignore the differences of some internal states of sequence generators.
However, the current code unifies them too much: some important states which need to be kept independent are also unified.
This results in underestimate the number of tokens needed to verify equivalence: it happens that, even though the rewrite is proven to be equivalent with reported n tokens, it is nonequivalent with n+1 tokens.

In concrete, whether the generator is now emitting a value or not still matters, but it's not considered.

Solution

Updated the unification algorithm to consider whether the sequence generator generated all tokens or not

TODO: I haven't verified the code thoroughly yet

@shundroid shundroid requested a review from Jiahui17 July 20, 2025 14:41
@shundroid shundroid changed the title [ElasticMiter] Fixed Token Counting [ElasticMiter] Fixed State Counting Jul 20, 2025
@shundroid shundroid marked this pull request as draft July 20, 2025 14:51
Copy link
Member

Choose a reason for hiding this comment

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

@shundroid shundroid force-pushed the dev/shundroid/fix-elastic-miter branch from ddc5175 to e79cc62 Compare July 21, 2025 10:37
@shundroid
Copy link
Collaborator Author

I updated the implementation, but I want to merge this after #391, because the current elastic-miter is broken (dot2smv still assumes tehb/oehb buffers), and I couldn't test the changes thoroughly.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants