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

z3 finds counter example for exponentiation when there is none #66

Open
Mareikes opened this issue May 17, 2017 · 3 comments
Open

z3 finds counter example for exponentiation when there is none #66

Mareikes opened this issue May 17, 2017 · 3 comments
Assignees
Milestone

Comments

@Mareikes
Copy link
Contributor

in the machine

MACHINE ArithmeticLaws
VARIABLES x
INVARIANT
x:INTEGER &
(x>0 => 2**(10x) = 2(2**(10*x-1)))
INITIALISATION
x := -3
OPERATIONS
IncX = SELECT x<50 THEN x := x+1 END
END

we get a counter example for x=7. Apparently we can't handle exponents > 64

@Mareikes Mareikes added this to the 0.2.0 milestone May 17, 2017
@wysiib
Copy link
Contributor

wysiib commented May 17, 2017

the number is too large for Z3 to handle it correctly. in consequence, it reports unknown. the error is wrongly reported because of the missing handling for UNKNOWN return statuses. This is already reported in #59

@wysiib wysiib closed this as completed May 17, 2017
@wysiib wysiib self-assigned this May 17, 2017
wysiib added a commit that referenced this issue May 17, 2017
@x-moe-x
Copy link
Contributor

x-moe-x commented Jul 10, 2017

We have a passing test for this issue but the machine already fails for x = 1, and doesn't see that 2^10 = 2*2^9...

@x-moe-x x-moe-x reopened this Jul 10, 2017
@wysiib
Copy link
Contributor

wysiib commented Jul 14, 2017

which test machine are you referring to?

@wysiib wysiib modified the milestones: 0.4.0, 0.2.0 Jul 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants