-
Notifications
You must be signed in to change notification settings - Fork 123
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
Parameterized modules, types and type definitions. #734
Comments
Just tried to reproduce this behavior. The printing has changed a bit, but the problem is otherwise unchanged.
It seems like the problem is related to the subtraction operator. If I remove it or replace it with |
We should also fix the pretty-printer here, as it seems to be getting operator precedence wrong. |
Indeed, it doesn't seem related to parameterized modules, really. I can produce essentially the same problem directly.
|
Worth noting, the following program is accepted without complaint:
|
This fixes issue #734, and partially addresses #930. The basic issue with 734 was that the solver was chosing spurious counterexamples for the exponent function; in particular, models where the output was not at least 1. The fairly restricted axiom we add here just says that the exponent function is at least as large as its base for positive inputs.
This fixes issue #734, and partially addresses #930. The basic issue with 734 was that the solver was chosing spurious counterexamples for the exponent function; in particular, models where the output was not at least 1. The fairly restricted axiom we add here just says that the exponent function is at least as large as its base for positive inputs.
I came upon this bug in a larger context - I've boiled it down to what I think is a minimum working example:
testp.zip
We have two files: test.cry:
and test_parameters.cry:
When you try to load test_parameters.cry, you get the following error:
However, if we de-parameterize, thus:
Then test.cry loads.
Something is breaking somewhere involving:
Obviously this is a pretty specialised example - but it did come up naturally for me, and I think it is a bug?
The text was updated successfully, but these errors were encountered: