Skip to content

Fix delimiter transitions in transducer noodlification #554

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 16, 2025

Conversation

jurajsic
Copy link
Member

Previously, it was assumed that the intersection NFT in transducer noodlification would contain delimiter transitions
source ---DELIMITER---> middle ---DELIMITER---> target
where the state middle would be only in one such pair of transitions. However, this is not true (probably because of the call to reduce()), so I updated it so now we can handle middle in multiple pairs.

This should fix #553.

@jurajsic jurajsic requested review from vhavlena, Adda0 and koniksedy July 16, 2025 07:24
@Adda0
Copy link
Collaborator

Adda0 commented Jul 16, 2025

Have a look at the failing build. It fails to compile.

Copy link
Collaborator

@Adda0 Adda0 left a comment

Choose a reason for hiding this comment

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

LGTM.

Copy link
Collaborator

@koniksedy koniksedy left a comment

Choose a reason for hiding this comment

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

LGTM. All transducer_plus and webapp benchmarks have passed.

Copy link
Collaborator

@vhavlena vhavlena left a comment

Choose a reason for hiding this comment

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

Great!

@Adda0 Adda0 merged commit 2c67fe1 into devel Jul 16, 2025
15 checks passed
@Adda0 Adda0 deleted the fix_multiple_delimiters_noodlification branch July 16, 2025 09:53
@jurajsic
Copy link
Member Author

# of formulae: 772
--------------------------------------------------
tool                          ✅    ❌     time    avg    med    std    sat    unsat    unknown    TO    MO+ERR    other
--------------------------  ----  ----  -------  -----  -----  -----  -----  -------  ---------  ----  --------  -------
z3-noodler-fee8de7-2c67fe1   713    59   697.23   0.98   0.01   7.51    280      433          0    58         1        0
z3-noodler-fee8de7-2fef659   713    59   694.10   0.97   0.01   7.35    280      433          0    58         1        0
--------------------------------------------------


Benchmark webapp
# of formulae: 681
--------------------------------------------------
tool                          ✅    ❌     time    avg    med    std    sat    unsat    unknown    TO    MO+ERR    other
--------------------------  ----  ----  -------  -----  -----  -----  -----  -------  ---------  ----  --------  -------
z3-noodler-fee8de7-2c67fe1   679     2   186.04   0.27   0.01   2.80    250      429          0     1         1        0
z3-noodler-fee8de7-2fef659   679     2   198.29   0.29   0.01   2.97    250      429          0     1         1        0
--------------------------------------------------

Benchmark transducer_plus
# of formulae: 91
--------------------------------------------------
tool                          ✅    ❌     time    avg    med     std    sat    unsat    unknown    TO    MO+ERR    other
--------------------------  ----  ----  -------  -----  -----  ------  -----  -------  ---------  ----  --------  -------
z3-noodler-fee8de7-2c67fe1    34    57   511.19  15.03   0.23   29.03     30        4          0    57         0        0
z3-noodler-fee8de7-2fef659    34    57   495.81  14.58   0.23   28.00     30        4          0    57         0        0
--------------------------------------------------

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.

Bug in noodlify_for_transducer for Noodler
4 participants