Ho appena rilevato questa frase:
Depending on the context, we may prefer to model integers as bitvectors rather than mathematical integers, since the Int type does not model overflow.
Mi chiedo cosa significhi. Sono nuovo nell'apprendimento di overflow di interi . Ti chiedi cosa significa modellare gli interi come bitvector e come lo faresti. E poi come questo ti permetterebbe di considerare l'overflow (chiedendoti se dovresti scrivere dei test per qualche tipo, o è in qualche modo implicito nel modello). È intrigante l'idea di modellare gli interi in modo che tengano conto dei problemi del mondo reale come gli overflow integer. Forse se potesse essere delineato usando JavaScript come esempio che mi è familiare sarebbe utile.
Un altro articolo dice qualcosa di simile:
Overflows are a common source of programming errors, which makes it crucial to model them accordingly. In the theory of fixed-size bitvectors, overflow effects are directly modeled by the semantics of its function symbols and require no extra encoding constraints. These properties make bitvector logic a perfect fit for many verification purposes, especially in the field of low-level programming.