Skip to content
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

Fix infinite recursion in isRVarApp #264

Draft
wants to merge 133 commits into
base: pure-z3
Choose a base branch
from
Draft

Fix infinite recursion in isRVarApp #264

wants to merge 133 commits into from

Conversation

shingarov
Copy link
Owner

No description provided.

shingarov and others added 24 commits March 21, 2024 18:27
Both MA (prior this commit) and upstream Sprite (at the time of this
commit) had bug in type renaming where parameters were renamed but
not references to them in termination metric. All tests "appeared to
work" simply because the code used same (formal) parameter names in both
type signature and function declaration.

However in general case they do not need to be the same. Solution is
simple - also rename parameters in termination metric.
Now L8 test_abs_* pass.
The code was actually malformed because metric referred to function's
formal parameter (not parameter in signature!)
test_abs_03 and test_abs_04 are just like test_abs_02 except they use
bitvectors instead of int.
We shall write a meaningful one when the time comes.
The prover found a subtle bug!
@shingarov shingarov marked this pull request as draft March 22, 2024 07:28
NB: This is NOT the neg test illustrating Issue#265
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.

Trying to reflect over polymorphic function crashes even for ℤ⊆'a
2 participants