> Are there also plans to provide quantors ('forall', 'exists' (plus 
> negation))? Even hotter: Are there plans to provide a compile time interface 
> to Z3? I'm asking because that would be the "sweet spot" in terms of the 
> least work for the Nim team while providing full formal capabilities for 
> those (probably rather few) Nim developers who need full formal verification, 
> some kind of transfer to/from model checkers, etc.

Quantors are coming and so is negation. We also attach pre- and postconditions 
to proc _types_ so that `method` and function pointers work. And the analysis 
is modular, it doesn't look inside proc bodies. We use the Z3 nimble package to 
interface with it, there is no "compile time interface to Z3" though as I have 
no idea what that would look like. We strive to map large portions of Nim to Z3 
though including floating point and unsigned math.

Reply via email to