33 Commits (e7124511dc290f61d1469032a7d9f56de018007e)

Author SHA1 Message Date
Jules Villard e7124511dc [pulse] use only known facts for variable substitutions
4 years ago
Jules Villard abc36fe97f [pulse] add a bunch of equal and compare functions
4 years ago
Jules Villard 77d508328f [pulse][formula] swap order of constant and linear sum
4 years ago
Jules Villard b5bd85c967 [pulse] quantifier elimination using var_eqs
4 years ago
Jules Villard 8b2b797136 [pulse] minor rename: eq -> lin_eq
4 years ago
Jules Villard ab2813e355 [pulse] canonicalize wrt equality relation
4 years ago
Jules Villard 98b562c844 [pulse][refactor] extract and reuse a `SatUnsat` module
4 years ago
Radu Grigore 009f3b651c [topl] Small steps in Pulse
4 years ago
Jules Villard 578583f2ab [pulse] check that new arithmetic facts are consistent with the heap
4 years ago
Jules Villard e1cadb12b0 [pulse] emit formula of path conditions in json output
5 years ago
Jules Villard 7fdb33b710 [pulse] report errors only when the PRUNE nodes along the path are true
5 years ago
Jules Villard b62c3f55b9 [pulse] fix fuel debug message
5 years ago
Radu Grigore 9591276541 [topl] Cheap port to Pulse.
5 years ago
Jules Villard 5cceead7ae [pulse] normalize again when we discover new linear eqs
5 years ago
Jules Villard 50b94dbbd6 [pulse] cleanup arithmetic
5 years ago
Jules Villard 8b23fee8f8 [pulse] refactor Atom.eval_atom
5 years ago
Jules Villard ecdb153579 [pulse] streamline atom normalization
5 years ago
Jules Villard 7df30b0c4e [pulse] preserve physical equality on var subst in LinArith
5 years ago
Jules Villard eb37d2ced5 [pulse] substitute entire linear expressions
5 years ago
Jules Villard 36af901d79 [pulse] normalize any linear atom
5 years ago
Jules Villard 69995cebb6 [pulse] add a Linear variant to terms
5 years ago
Jules Villard 45894a7dd9 [pulse] move LinArith before Term
5 years ago
Jules Villard 1d56705cd4 [pulse] evaluate all constant expressions
5 years ago
Jules Villard bcba7c8475 [pulse][minor] moving some arithmetic stuff around
5 years ago
Jules Villard af64d5dafe [pulse] detect when atoms become linear arithmetic
5 years ago
Jules Villard 3e7bf4343b [pulse] make unit tests more robust to adding more tests
5 years ago
Jules Villard 6fae5f641e [pulse] change constants to be rationals
5 years ago
Jules Villard 0433e9592e [pulse] new new arithmetic
5 years ago
Jules Villard 7b743ceb1a [pulse][formula] forget dead facts
5 years ago
Jules Villard bf40a9119e [pulse][formula] print readable variable names in unit tests
5 years ago
Jules Villard 6f5b125aa0 [pulse][formula] improve printing
5 years ago
Jules Villard 97fcc3b0ad [pulse] apply equality relation to terms to be added to the equality relation
5 years ago
Jules Villard 5a39c158c5 [pulse] arithmetic domain: take 4!
5 years ago