Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Prove 64 bit integer arithmetics #50

Open
jklmnn opened this issue Jul 18, 2019 · 0 comments
Open

Prove 64 bit integer arithmetics #50

jklmnn opened this issue Jul 18, 2019 · 0 comments

Comments

@jklmnn
Copy link
Member

jklmnn commented Jul 18, 2019

While working on issue #47 I noticed that some properties are harder to prove than expected and are not feasible to prove in the time given. The missing parts are:

  • The associativity lemmas for integer conversions between signed and unsigned. Since addition and subtraction are sign-independent the following lemmas are valid but cannot be proven yet (for all ranges):
    • X + Y = To_Int (To_Uns (X) + To_Uns (Y))
    • X - Y = To_Int (To_Uns (X) - To_Uns (Y))
  • Multiplication with overflow check is a little more complex than addition and subtraction but it should be provable with moderate effort.
  • The division functions are not yet analyzed but after a short overview they're the most complex part of the package and will likely require high effort to prove.
jklmnn added a commit that referenced this issue Jul 18, 2019
senier pushed a commit that referenced this issue Jul 18, 2019
jklmnn added a commit that referenced this issue Jul 19, 2019
jklmnn added a commit that referenced this issue Jul 19, 2019
jklmnn added a commit that referenced this issue Jul 19, 2019
jklmnn added a commit that referenced this issue Jul 19, 2019
jklmnn added a commit that referenced this issue Jul 19, 2019
senier pushed a commit that referenced this issue Jul 19, 2019
senier pushed a commit that referenced this issue Jul 19, 2019
senier pushed a commit that referenced this issue Jul 19, 2019
senier pushed a commit that referenced this issue Jul 26, 2019
senier pushed a commit that referenced this issue Jul 26, 2019
senier pushed a commit that referenced this issue Jul 26, 2019
senier pushed a commit that referenced this issue Jul 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant