115 Commits (c287afe07de09b519e6d26dec512a6ace241682c)

Author SHA1 Message Date
Josh Berdine af58e744a2 [sledge] Fix Arith.trms to include proper subterms of uninterpreted terms
4 years ago
Josh Berdine 80af949e89 [sledge] Fix the constant 1 from being considered a subterm
4 years ago
Josh Berdine b6ffeb179f [sledge] Cleanup and tracing in Trm and Arith
4 years ago
Josh Berdine f5e051f58a [sledge] Add replay debugging for Context.dnf
4 years ago
Josh Berdine 34d1eeb5dc [sledge] Uniformly include representatives in equality classes
4 years ago
Josh Berdine 2f0c4af2dd [sledge] Reorder Context definitions
4 years ago
Josh Berdine 1ddb5fb249 [sledge] Represent equality classes explicitly
4 years ago
Josh Berdine 1c43a7fe3d [sledge] Simplify Context.Subst.compose1
4 years ago
Josh Berdine aeba96a3c7 [sledge] Refactor theory solver into separate module
4 years ago
Josh Berdine 757e44ca50 [sledge] Simplify Context as wrt is unneeded when no_fresh is true
4 years ago
Josh Berdine caae7515e8 [sledge] Rework first-order solver to use a list of pending equations
4 years ago
Josh Berdine 01c8024a50 [sledge] Simplify use of solve_extract in Context.solve_for_vars
4 years ago
Josh Berdine 440aed0f09 [sledge] Strengthen Context.invariant
4 years ago
Josh Berdine 1a9737dbe5 [sledge] Factor out representation of equality classes into Context.Cls
4 years ago
Josh Berdine 9b4059b07c [sledge] Do not normalize class members
4 years ago
Josh Berdine 81f77cf7bd [sledge] Strengthen Context.solve_for_vars on uninterpreted functions
4 years ago
Josh Berdine 11c8ba21be [sledge] Allow more flexibility in Trace.trace breaking
4 years ago
Josh Berdine 93abf301c9 [sledge] Fix type of List.filter
4 years ago
Josh Berdine 2d67fd0fa4 [sledge] Add Trm.Set.pp
4 years ago
Josh Berdine 0ebc74ae8c [sledge] Add Set.Provide_pp
4 years ago
Josh Berdine c10ccafd43 [sledge] Add fast path to Context.partition_valid for empty existentials
4 years ago
Josh Berdine d6c8f6aafd [sledge] Add fast path to Context.Subst.compose for empty
4 years ago
Josh Berdine 63a8f22eef [sledge] Optimize Context.Subst.compose1
4 years ago
Josh Berdine 9e373fb68c [sledge] Generalize Context.Subst.compose to support shadowed bindings
4 years ago
Josh Berdine 5f8989fc39 [sledge] Revise quantifier elimination of disjunctive formulas
4 years ago
Josh Berdine 8f40a85cd8 [sledge] Refactor QE in Sh.simplify to simplify Context interface
4 years ago
Josh Berdine 1c37a0f146 [sledge] Generalize Context.elim and make it more robust
4 years ago
Josh Berdine 7f835bf80a [sledge] Fix Context.fold_uses_of
4 years ago
Josh Berdine ee177a980d [sledge] Fix type of Context.fold_uses_of
4 years ago
Josh Berdine 69a979612b [sledge] Use unsat context and ff pure constraints in unsat symbolic heaps
4 years ago
Josh Berdine c065e6f384 [sledge] Additional tracing
4 years ago
Josh Berdine a18165c553 [sledge] Improve tracing
4 years ago
Josh Berdine a7b547ccdf [sledge] Fix Context.apply_subst to preserve rest of representation
4 years ago
Josh Berdine e0312f1274 [sledge] Add fast path for applying an empty substitution
4 years ago
Josh Berdine bb52f96ded [sledge] Fix a fresh name clash when solving extract equations
4 years ago
Josh Berdine 86d129847c [sledge] Strengthen Arithmetic.solve_zero_eq
4 years ago
Josh Berdine 4605f505ce [sledge] Strengthen dynamic resolution of indirect calls
4 years ago
Josh Berdine 78eb85bcf4 [sledge] Fix scope when entering scope of a local shadowed by a callee
4 years ago
Josh Berdine d34dd02ee1 [sledge] Fix over-aggressive normalization in Trm._Extract
4 years ago
Josh Berdine f284425cb7 [sledge] Rename some unary predicates with is_-prefixes
4 years ago
Josh Berdine 6970741f27 [sledge] Add arg labels on Trm constructors to avoid confusion
4 years ago
Josh Berdine 4916aee050 [sledge] Revise Context.classify to detect more atomic terms
4 years ago
Josh Berdine c31e7f2ee7 [sledge] Treat Splat as interpreted
4 years ago
Josh Berdine 5138c0eb15 [sledge] Refactor the theory cases of the equality solver for clarity
4 years ago
Josh Berdine 23b5571029 [sledge] Normalize Splat 0 to 0
4 years ago
Josh Berdine d2b78bbd79 [sledge] Improve term printing, avoid misidentification of string constants
4 years ago
Josh Berdine a8feaa4262 [sledge] Add missing case to sequence theory solver
4 years ago
Josh Berdine ee7b77cfb1 [sledge] Distinguish globals and functions from variables
4 years ago
Josh Berdine f821ca9634 [sledge] Base implementation of localization on atoms instead of vars
4 years ago
Josh Berdine d0ac9cb557 [sledge] Simplify term and formula iterators
4 years ago
Josh Berdine aacdbc060a [sledge] Remove record theory from backend, encode using sequence theory
4 years ago
Josh Berdine aa307294a5 [sledge] Eliminate recursive records
4 years ago
Josh Berdine 72ba7c4faa [sledge] Remove dead Arith representation fold operations
4 years ago
Josh Berdine 1a4363627c [sledge] Revise Arith.map to use maximal non-interpreted subterms
4 years ago
Josh Berdine 6f4dcfbdd9 [sledge] Add the embedding of arithmetic into terms to the arithmetic interface
4 years ago
Josh Berdine 10e921bcec [sledge] Refine Arith.classify to distinguish interpreted and uninterpreted
4 years ago
Josh Berdine 0e3868c35f [sledge] Minor code simplification in Trm.map
4 years ago
Josh Berdine 169ee34371 [sledge] Drop fresh variables that do not appear in the solution
4 years ago
Josh Berdine 22f17140f0 [sledge] Minor exception optimizations
4 years ago
Josh Berdine 52b511d053 [sledge] Improve backtraces of invariant violation and replay exceptions
4 years ago
Josh Berdine 7a9fe91846 [sledge] Strengthen normalization by flattening nested And and Or formulas
4 years ago
Josh Berdine 8dc0a422e1 [sledge] Make API of Term constant destructors uniform
4 years ago
Josh Berdine 889f4cb666 [sledge] Document sequence and record term constructors
4 years ago
Josh Berdine 9cd5b02171 [sledge] Change Context API to use Term instead of Trm
4 years ago
Josh Berdine ca67dfb801 [sledge] Reorganize first-order logic support into separate library
4 years ago