why3

The exact mechanism of mapping WhyML into SMT logic

纵饮孤独 提交于 2019-12-14 03:57:32
问题 Good day, auto deduction and verification hackers! In order to gain a deeper understanding of how exactly WhyML provides proofs for ACSL-annotated C programs I am trying to manually "reproduce" the job Why3 does with WhyML program while translating it into SMT logic and feeding it into Z3 prover. Lets say we have the following C fragment: const int L = 3; int a[L] = {0}; int i = 0; while (i < L) { a[i] = i; i++; } assert (a[1] == 1); I am trying to encode it into SMT logic like this: (set

Is the mach.int library a default part of why3?

泪湿孤枕 提交于 2019-12-12 03:29:03
问题 I'm trying to use 32-bit integers in a Why3 specification of a Simulink model, and I've found the mach.int library, that is, at least in one place, described as being part of the standard library. However, when I try to use it with the following importing command: use import mach.int.Int32 I get the message: Library file not found: mach.int This is my first library with a "." in it, so I'm not sure if my syntax is wrong, or this library isn't actually part of the standard library, or if I'm