551 Commits (9f43c885655bb133a415be7abc6c213e2385595a)

Author SHA1 Message Date
Josh Berdine a6dabc7924 [sledge] Refactor: Separate out conversion from Llair to Fol
5 years ago
Josh Berdine 896e9602f8 [sledge] Refactor: Rename Formula.conditional to Formula.cond
5 years ago
Josh Berdine 94e8b07997 [sledge] Refactor: Rename Formula.true_ and false_ to tt and ff
5 years ago
Josh Berdine 8d2bb0ddcf [sledge] Refactor: Move Ses.Term.Var.Subst to Fol.Var.Subst
5 years ago
Josh Berdine 79a4db7771 [sledge] Refactor: Make Term and Equality independent of Var.Subst
5 years ago
Josh Berdine 9cb74ac9ac [sledge] Refactor: Move Equality replay debugging to Fol
5 years ago
Josh Berdine 0568f2ee2d [sledge] Refactor: Distinguish Fol term and formula types
5 years ago
Josh Berdine 0998ce011f [sledge] Refactor: Add `formula` alias for `term` type, and use appropriately
5 years ago
Josh Berdine 4308ca649f [sledge] Remove unnecessary hash functions
5 years ago
Josh Berdine 967185e02a [sledge] Refactor: Reduce Fol sig to needed interface
5 years ago
Josh Berdine 3d1fbf3840 [sledge] Refactor: Expand sig of Fol submodules
5 years ago
Josh Berdine 0aed6eeab6 [sledge] Refactor: Rename to use "first-order logical context" terminology
5 years ago
Josh Berdine a629486c9f [sledge] Refactor: Rename Fol.Equality to Fol.Context
5 years ago
Josh Berdine dd2e7b4782 [sledge] Refactor: Add Fol module to be used for external interface of solver
5 years ago
Josh Berdine eca73cf39b [sledge] Build: Move sledge equality solver to separate lib
5 years ago
Josh Berdine 33d59b8642 [sledge] Refactor: Add Option.Import including Monad_infix and Monad_syntax
5 years ago
Josh Berdine c7556364b7 [sledge] Change: Strengthen Term invariant that exponents are integers
5 years ago
Josh Berdine 6b44eaf2e6 [sledge] Style: set ocamlformat config break-struct = force
5 years ago
Josh Berdine d5de3f78a6 [sledge] Refactor: split Equality.diff_classes out of ppx_classes_diff
5 years ago
Josh Berdine 89f60156a9 [sledge] Change: Use conjunction instead of list of terms for Sh.pure
5 years ago
Josh Berdine 1c7b3fb1f8 [sledge] Change: Avoid double-freshening during symbolic execution
5 years ago
Josh Berdine 37c90bff57 [sledge] Fix: Include fresh vars for overwritten vars in ghosts
5 years ago
Josh Berdine 323e96d4f4 [sledge] Refactor: Add monad to manage generation of fresh vars in Exec
5 years ago
Josh Berdine fe42fc912d [sledge] Change: Minor improvement of Sh.extend_us and Sh.freshen
5 years ago
Josh Berdine 6a7fb87c58 [sledge] Change: Return domain and range with Var.Subst constructors
5 years ago
Josh Berdine dcf8866ec5 [sledge] Change: Store inverted Domain_sh.from_call.subst, and clarify
5 years ago
Josh Berdine 1214ab71b7 [sledge] Refactor: Rename to use terminology for "sized sequences"
5 years ago
Josh Berdine 52dec5f4da [sledge] Refactor: Move eq_concat out of Term
5 years ago
Josh Berdine 299d06a8fb [sledge] Refactor: Remove Term.null redundant with Term.zero
5 years ago
Josh Berdine b2b420250a [sledge] Change: Use mulq instead of mul where possible
5 years ago
Josh Berdine 9e06304069 [sledge] Refactor: Factor out accessor for polynomial constant as Term.const_of
5 years ago
Josh Berdine fd75a1135e [sledge] Refactor: Factor out destructor for Integer Terms as Term.d_int
5 years ago
Josh Berdine 834260d43f [sledge] Refactor: Term.disjuncts out of Sh.pure
5 years ago
Josh Berdine 9c8f2e4a5c [sledge] Build: Move Timer to Nonstdlib
5 years ago
Josh Berdine cfc25ab825 [sledge] Refactor: Remove Nondet Llair.Exp and Term
5 years ago
Josh Berdine 4fdc2f6c76 [sledge] Build: Wrap Llair library
5 years ago
Josh Berdine f82a1c0437 [sledge] Refactor: Move Llair.t to separate Program module
5 years ago
Josh Berdine 8abad29200 [sledge] Build: Move LLAIR into separate sublibrary
5 years ago
Josh Berdine 0716b47a78 [sledge] Refactor: Strengthen signature of Reg with type equations to Exp.Reg
5 years ago
Josh Berdine 51c7e26828 [sledge] Test: Move tests for (un)signed ints from Exp_test to Term_test
5 years ago
Josh Berdine d1f8714b56 [sledge] Refactor: Move Exp.term to Term.of_exp
5 years ago
Josh Berdine dbe914e6c7 [sledge] Change: Move Exp to Term conversion to Exp.term
5 years ago
Josh Berdine 4c6ad4a2e2 [sledge] Refactor: Add global flag to Reg representation
5 years ago
Josh Berdine df3e6ded1d [sledge] Build: Promote `import` subdirectory to a toplevel `nonstdlib` library
5 years ago
Josh Berdine 529f6c9ded [sledge] Doc: Update doc of Term.map_rec_pre
5 years ago
Josh Berdine 73a0b1f81b [sledge] Build: Update to ocaml 4.10.0, dune 2.5 and core 0.14
5 years ago
Josh Berdine 5e90bc61b7 [infer] Update to core 0.14
5 years ago
Josh Berdine 143eb793af [sledge] Refactor: Add `let@`
5 years ago
Josh Berdine 4f46eb0fd7 [sledge] Refactor: Remove unused functor arg name
5 years ago
Josh Berdine 1635c1cf96 [sledge] Style: Change to less compact ocamlformat style
5 years ago
Josh Berdine 0d73a355c9 [sledge] Refactor: Simplify Term.solve_sum code
5 years ago
Josh Berdine 967a9e1c58 [sledge] Change: Rely on llvm size computation for global initializers
5 years ago
Josh Berdine 65f369cf35 [ocamlformat] Reformat repo with new version
5 years ago
Josh Berdine 9d9060d213 [sledge] Represent recursive records non-recursively
5 years ago
Josh Berdine 849c61221d [sledge] Remove Exp.size_of and Term.size_of
5 years ago
Josh Berdine 0953444c24 [sledge] Remove dead Loc.is_none
5 years ago
Josh Berdine dd3645820f [sledge] Remove Sh.var_strength, no longer used by Solver
5 years ago
Josh Berdine 209fef2256 [sledge] Optimize conjoining fresh equalities
5 years ago
Josh Berdine de20da4fb6 [sledge] Rename lib to src
5 years ago
Josh Berdine b6ddd8fe8e [sledge] Rearrange into CLI binary and LLVM-independent library
5 years ago
Josh Berdine d5158f0787 [sledge] Move Reg.demangle to frontend
5 years ago
Josh Berdine 5eebe1c733 [sledge] Add entry-points config to Control.exec_opts
5 years ago
Josh Berdine e6ccd3e497 [sledge] Minor tracing improvements
5 years ago
Josh Berdine 556739e17c [sledge] Minor optimization of Sh.bind_exists
5 years ago
Josh Berdine f80e0977cd [sledge] Make Sh.and_cong robust wrt conjoining to an unsat formula
5 years ago
Josh Berdine 37ddf95a49 [sledge] Strengthen and simplify canonizer for Extract terms
5 years ago
Josh Berdine f8a490d477 [sledge] Enforce variable context conditions in solver goals
5 years ago
Josh Berdine f8f47c0755 [sledge] Fix a few existential context fumbles
5 years ago
Josh Berdine 991c0c66e8 [sledge] Remove unnecessary vocabulary updates
5 years ago
Josh Berdine 8b8e156f83 [sledge] Make Solver.judgment a private type
5 years ago
Josh Berdine 9488a404ff [sledge] Compare logical variables by id only
5 years ago
Josh Berdine 0f1db1bd8b [sledge] Fix potential name clash when executing memmov
5 years ago
Josh Berdine 24c62fd39b [sledge] Strengthen canonizer of Extract terms
5 years ago
Josh Berdine 6a17078bec [sledge] Make context handling in Sh.or_ more robust
5 years ago
Josh Berdine 5d429ea075 [sledge] Improve Equality.extend
5 years ago
Josh Berdine f7707ff4be [sledge] Comments
5 years ago
Josh Berdine c8e2c3f895 [sledge] Detect inconsistent pure constraints during Sh simplification
5 years ago
Josh Berdine fa23e85bb4 [sledge] Dedup equality classes when printing
5 years ago
Josh Berdine 8383dcebb8 [sledge] Simplify states during symbolic execution
5 years ago
Josh Berdine b16e85d10d [sledge] Eliminate redundant existential quantifiers
5 years ago
Josh Berdine e520e8507d [sledge] Update Equality test results
5 years ago
Josh Berdine 9d97507e09 [sledge] Update and add Sh tests
5 years ago
Josh Berdine 33e702cd8b [sledge] Improve Sh printing for Sh-internal tracing
5 years ago
Josh Berdine a6f948c2c3 [sledge] Strengthen handling of existential segments
5 years ago
Josh Berdine b3cdac76e4 [sledge] Remove hacky treatment of tautologous existential equalities
5 years ago
Josh Berdine 80afaaee1b [sledge] Detect unsat subtrahend when subtracting pure terms
5 years ago
Josh Berdine b81fb893ea [sledge] Factor out Sh.and_subst
5 years ago
Josh Berdine fc2dbdd2fc [sledge] Strengthen existential witnessing for memory theory
5 years ago
Josh Berdine 0b88d99c79 [sledge] Strengthen quantifier witnessing
5 years ago
Josh Berdine ae8cd953f8 [sledge] Fix potential unsyncing of var contexts in solver
5 years ago
Josh Berdine a52085a718 [sledge] Fix Equality.canon to handle changing term classification
5 years ago
Josh Berdine 13aa772b68 [sledge] Strengthen normalization of equality between Concats
5 years ago
Josh Berdine 3369b27cf1 [sledge] Reorder Term definitions
5 years ago
Josh Berdine 2be566a09b [sledge] Fix Solver tracing
5 years ago
Josh Berdine 2a0eca669d [sledge] Move mediation between Term and Equality APIs from Sh to Equality
5 years ago
Josh Berdine 29eb8fa876 [sledge] Replace solution substitution trimming with partitioning
5 years ago
Josh Berdine 92b942e4ee [sledge] Simplify terminology from solvable to non-interpreted
5 years ago
Josh Berdine a34236bacd [sledge] Distinguish star and or when computing variable strength
5 years ago
Josh Berdine 9d3898044d [sledge] Canonize e / -1 to -1×e
5 years ago
Josh Berdine 65f38d68cc [sledge] Refactor to allow more recursion between arithmetic canonizer cases
5 years ago