- Program Analysis as Constraint Solving (Gulwani et al. 2008)
- Focused only on Program Verification section
A bit of a replication of what's in the paper and what we went over in class however I needed additional work in understanding what exactly was going on.
- Identification of constraints on our invariant
I
. - Application of an invariant template:
a1x + a2y + a3 ≥ 0 ∨ a4x + a5y + a6 ≥ 0
- Prep for Farkas' Lemma
- TODO - Apply Farkas' Lemma (Briefly kicked around some ideas for "automatically" doing these things however decided I wanted to try something more concrete)
Install z3, peruse the documentation and a couple of quick guides, and run some toy examples. See example files:
- One trivially solved equation
- One unsatisfiable equation
- A couple of tests on basic laws or boolean algebra
- Example from Gulwani paper (after using invariant template and applying Farkas' Lemma to the first constraint)