Open maxvonhippel opened 2 years ago
Here is how [assumed]
looks:
Example contents of my-database-file.txt
:
-1622833400573599434
-5789786322462225471
-2650329083325368840
2711453712209863790
-4444313916419122133
-7296276615417619981
4881745331986217060
6250922562833032095
-254541914791903277
Orthogonally, I'd like to mention that the setup.py
does not correctly install the scripts on my machine (Linux Mint Debian, XPS 13 with Intel CPU). It defaults to the wrong Python. But if I create aliases, e.g.
alias ivy_check="python2 ~/projects/research/open-source-contributions/ivy/ivy/ivy_check.py"
... then everything works correctly.
Here is how FAIL
looks.
I've rolled this other PR into mine, per our conversation @kenmcmil , so all these changes can be accepted at once. I'll make a few more changes that we discussed before this PR should be merged.
The "PASS PASS" issue we observed wasn't a bug, I just pasted the word PASS
again on accident, so we can ignore that.
@kenmcmil you also mentioned maybe we should lock the file before writing/reading and unlock after. I'm not sure how best to do this, but will look into it some more.
To be clear the lock feature is implemented. This is ready to be merged.
This pull request makes the following changes.
database
parameter. Settingdatabase=my-file.txt
tells the code to usemy-file.txt
as a data-base. The database works like a cache of failed SMT formulae, namely, failed negations of invariants or assertions. The idea is to achieve a speed-up by caching computations done when checking the model before you added or removed an invariant, sort of like how in Coq some portion of your proof will be green and won't need to be re-evaluated just to check the next portion you write.PASS
green,FAIL
red, and[assumed]
blue (will behave slightly differently depending on your terminal theme). This improves overall legibility.setup.py
, as well as the requirement that you use Python 2.x as the code simply is not Python 3 compatible.