Commit Graph

930 Commits (45f2db284d6bd9da42f4b0dbb02239e7e6b3a775)

Author SHA1 Message Date
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 dde116b040 [sledge] Change: Translate LLVM undef to register assigned by nondet 5 years ago
Josh Berdine e17f8adfe9 [sledge] Refactor: Support instruction prefix in value translation 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 70c4db27a9 [sledge] Change: Include ocaml version in version info 5 years ago
Josh Berdine 81478df4b7 [sledge] Fix: Do not leak llvm context 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 9bbe9dbba1 [sledge] Change: Rely on llvm size_of instead of Typ.size_of from llair 5 years ago
Josh Berdine d25519ef0f [sledge] Refactor: Simplify frontend check for unimplemented vector operations 5 years ago
Josh Berdine 3e5c2ac7d2 [sledge] Change: No need to compute type of arg of assume 5 years ago
Josh Berdine 7c53cb3d76 [sledge] Test: Update expected test results 5 years ago
Josh Berdine b12c6fd3f8 [sledge] Test: Ignore **/*.ll.{out,err} files generated by test runs 5 years ago
Josh Berdine 11ecbaa0b3 [sledge] Test: Show progress bar when running tests 5 years ago
Josh Berdine 7ec66c9c1b [sledge] Test: Fix `make -C test report-invalid-results` 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 148d3d366f [sledge] Cleanup ppx_trace docs 5 years ago
Josh Berdine e2eb6d094a [sledge] Fix context name in test/Makefile 5 years ago
Josh Berdine b9dedea099 [sledge] Add fmt_all target to reformat no matter what dune thinks 5 years ago
Josh Berdine 209fef2256 [sledge] Optimize conjoining fresh equalities 5 years ago
Josh Berdine 53822697f9 [sledge] Rename contexts/profiles to be more conventional 5 years ago
Josh Berdine de20da4fb6 [sledge] Rename lib to src 5 years ago
Josh Berdine 8b59dc58fc [sledge] Remove dead llmodule field from frontend translation context 5 years ago
Scott Owens d30b0959a1 [sledge sem] Add a README 5 years ago
Jules Villard 7a888170e7 [pudge] it's alive! 5 years ago
Scott Owens 49d95f40a2 [sledge sem] Adds a theorem about block processing order 5 years ago
Scott Owens 8d49b8d6ef [sledge sem] Remove some proof cheats 5 years ago
Scott Owens 9327f41880 [sledge sem] Organise the tranlation corectness proof 5 years ago
Scott Owens 2a6ababa99 [sledge sem] Rework emap invariant 5 years ago
Josh Berdine 6e4a729ab6 [sledge] Do not add simple constants to Equality relation representation 5 years ago
Josh Berdine 1b5302b4d2 [sledge] Simplify remainder of a rational by an integer 5 years ago
Josh Berdine fcd0e41ee6 [sledge] Return early for == args in Term compare and equal 5 years ago
Josh Berdine 76695690b8 [sledge] Do not simplify Mul and Div terms 5 years ago
Josh Berdine a3a6a5a6fe [sledge] Do not solve for Integer constants 5 years ago
Josh Berdine 32c5fb2837 [sledge] Do not represent Equality rep sparsely on constants 5 years ago
Josh Berdine de1689ac87 [sledge] Change And and Or terms from binary to flattened n-ary 5 years ago
Josh Berdine 87c8eb7c3a [sledge] Strengthen normalization of division 5 years ago
Josh Berdine cd72d3a82e [sledge] Simplify Term.Sum.to_term 5 years ago
Josh Berdine 2fc8bc1f84 [sledge] Export Term.map_rec_pre and add Term.fold_map_rec_pre 5 years ago
Josh Berdine 548928a839 [sledge] Strengthen Equality invariant to ensure carrier closed under subterms 5 years ago
Josh Berdine 2124be1c71 [sledge] Remove the "simplified" intermediate between interpreted and uninterpreted 5 years ago
Josh Berdine ee595f2ebf [sledge] Strengthen Equality.close to handle rep being sparse on constants 5 years ago
Josh Berdine 2f4f9801ed [sledge] Add Term.is_constant 5 years ago
Josh Berdine c91e09031f [sledge] Strengthen Equality normalization 5 years ago
Josh Berdine 0f50d3c248 [sledge] Do not solve polynomials for Mul or Div terms 5 years ago
Josh Berdine eb750ba6f9 [sledge] Avoid cyclic solutions to polynomial equations 5 years ago
Josh Berdine 1b20f02052 [sledge] Strengthen normalization of division, avoiding non-reals 5 years ago
Josh Berdine 4ea9eced05 [sledge] Improve Term.Sum.to_term 5 years ago
Josh Berdine 1a34e7eed2 [sledge] Add rational constants 5 years ago
Josh Berdine 7b33996072 [sledge] Use term height to avoid "pumpable" cyclic equations in Equality 5 years ago
Josh Berdine 6c03d88cf7 [sledge] Move Term.agg_size 5 years ago
Josh Berdine 0cee03aaa1 [sledge] Simplify identity type conversions only at initial construction 5 years ago
Josh Berdine 7e4673cbeb [sledge] Improve Equality invariant checking and debugging support 5 years ago
Josh Berdine 3c0924cf01 [sledge] Minor code improvement 5 years ago
Josh Berdine 60df5d6f3a [sledge] Fix Equality.Subst.compose to preserve physical equality 5 years ago
Josh Berdine 013b948dc4 [sledge] Rename extend to compose1 to avoid potential shadowing confusion 5 years ago
Josh Berdine fddb2fa991 [sledge] Add Map.map_endo 5 years ago
Josh Berdine ef63683a16 [sledge] Add Term.fold_map 5 years ago
Josh Berdine b35e3d30e0 [sledge] Add Map.fold_until 5 years ago
Josh Berdine b09f3774a4 [sledge] Add Qset.is_empty 5 years ago
Josh Berdine 165454e17d [sledge] Add Map and Qset operations to access top of underlying tree 5 years ago
Josh Berdine 7fdd3cccbb [sledge] Add Option.or_else 5 years ago
Josh Berdine 2aacc03880 [sledge] Remove eliminated existentials from equality relations 5 years ago
Josh Berdine 30c23f8cd6 [sledge] Fix term ordering bug between monomials and vars 5 years ago
Josh Berdine e7217ac5fe [sledge] Check equality of logical variables by id only 5 years ago
Josh Berdine c8e75e3b82 [sledge] Dump perf diagnostics and replays for slow queries to stderr 5 years ago
Josh Berdine a4e523b5b6 [sledge] Rename `*_preserves_phys_equal` to `*_endo` and clarify docs 5 years ago
Josh Berdine ec52259d31 [sledge] Substitute out alias of option when including Monad_syntax 5 years ago
Josh Berdine 1ae192dc0e [sledge] Use __LOC__ for Not_found_s 5 years ago
Josh Berdine ef0dfe0d70 [sledge] Fix doc of List.remove_exn 5 years ago
Josh Berdine d1de5db6c8 [sledge] Document Equality variable context handling 5 years ago
Josh Berdine 31dd2884f6 [sledge] Use a cookie instead of env var to enable ppx_trace 5 years ago
Josh Berdine 1ce5eb8033 [sledge] Suppress warning on dune build_info compilation 5 years ago
Josh Berdine 1364eccf18 [sledge] No longer need to Marshal with Closures support 5 years ago
Josh Berdine 461f88756d [sledge] Name the sledge library `sledge` 5 years ago
Josh Berdine ed82bca4a5 [sledge] Document that integer division and remainder use truncation semantics 5 years ago
Josh Berdine 3b4b2f3999 [sledge] Add replay debugging for Equality 5 years ago
Josh Berdine e83c6170e5 [sledge] Improve tracing in unit tests 5 years ago
Josh Berdine 9414cb4fb3 [sledge] Implement 'a iarray as ('a, immutable) Array.Permissioned.t 5 years ago
Josh Berdine fe62eeadab [sledge] Cleanup of Import 5 years ago
Josh Berdine 7ab19955bb [sledge] Implement Qset using Import.Map 5 years ago
Josh Berdine d5fe9aa11d [sledge] Define Map as a functor over the Tree underlying Core.Map 5 years ago
Josh Berdine ae3c059fe9 [sledge] Define Set as a functor over the Tree underlying Core.Set 5 years ago
Jules Villard 4e9f34efea [sledge] fix for `Equality.and_term` 5 years ago
Josh Berdine 6504f12029 [sledge] Rename Var.global to Var.is_global 5 years ago
Josh Berdine 9382b8120b [sledge] Improve IArray.map_adjacent 5 years ago
Josh Berdine 2fa0948e8d [sledge] Only fmt one (dbg) context, and suppress diff output 5 years ago
Josh Berdine fe09969a53 [sledge] Move basic function and tuple operations to Import0 5 years ago
Josh Berdine 8d6911416d [sledge] Add util for local exception to return early idiom 5 years ago
Josh Berdine 2ca98c80ff [sledge] Rename vector to iarray 5 years ago
Josh Berdine 2a5e0f692b [sledge] Move dep on Core to just bin 5 years ago
Josh Berdine 4d86832d7a [sledge] Do not open Base globally 5 years ago
Josh Berdine 06e4a2c08c [sledge] Dedup Qset interface 5 years ago
Josh Berdine 434c40e646 [sledge] Do not use Base.Map to implement Qset 5 years ago
Josh Berdine 152cc38e9b [sledge] Dedup Map signature 5 years ago
Josh Berdine 5dbb4a6fc2 [sledge] Dedup Set signature 5 years ago
Josh Berdine 42a8f774fd [sledge] Move Import.Map to separate module 5 years ago
Josh Berdine 252060ac7a [sledge] Remove unused ppx_custom_printf 5 years ago
Josh Berdine 93a9c823fc [sledge] Move Import.Set to separate module 5 years ago
Josh Berdine a4613f001d [sledge] Move Vector.pp out of Import.Vector wrapper 5 years ago
Josh Berdine c47881e664 [sledge] Remove dead Result.pp function 5 years ago
Josh Berdine 04df3ca460 [sledge] Move Import.List to separate module 5 years ago
Josh Berdine 24a26c8a23 [sledge] Move Import.Option to separate module 5 years ago
Josh Berdine 9c77d7b2a4 [sledge] Move some general type definitions from Import to Import0 5 years ago
Josh Berdine 124a1fed20 [sledge] Do not use Base.Set 5 years ago
Josh Berdine 57a8748e9f [sledge] Do not use Base.Map 5 years ago
Josh Berdine 134f9f930e [sledge] Adjust build system to allow building as a vendored dependency 5 years ago
Josh Berdine 8337097cf0 [sledge] Move Domain_itv and dependency on APRON from lib to bin 5 years ago
Josh Berdine 27f93b60da [sledge] Move ctypes dep from lib to bin 5 years ago
Josh Berdine 1c9bafc2a9 [sledge] Add beginnings of HACKING docs 5 years ago
Josh Berdine f5ab894675 [sledge] Dedup preprocess entries in dune files 5 years ago
Josh Berdine 0c7249b992 [sledge] Change build system to not generate dune files 5 years ago
Josh Berdine fff3a491bf [sledge] Bump version of dune language used, and format dune files 5 years ago
Josh Berdine 1798725632 [sledge] Add support to ppx_trace enable via environment variable 5 years ago
Josh Berdine c47199e31c [sledge] Simplify build for models 5 years ago
Josh Berdine 8880dd48eb [sledge] Remove base dep from ppx_trace 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 dd026745af [sledge] Remove sledge/bin symlinks 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 63b8db2f8c [sledge] Reformat after promoting tests 5 years ago
Josh Berdine a8200b4957 [sledge] Don't need staged_pps anymore 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
Josh Berdine 99e6e9494b [sledge] Conditionally ignore equality relation when computing free variables 5 years ago
Scott Owens 8d95ef7e3c [sledge sem] Fix global variables 5 years ago
Josh Berdine 9d12f6502f [sledge] Make aggregate sizes explicit when constructing equalities 5 years ago
Josh Berdine 77cc835199 [sledge] Strengthen Equality.solve_for_vars to concatenate extracts 5 years ago
Josh Berdine f1d94d58b0 [sledge] Strengthen Equality.solve_for_vars for vars under Memory 5 years ago
Josh Berdine 54a3982b1d [sledge] Simplify variable occurrence checking in Equality.solve 5 years ago
Josh Berdine c8ed6dae63 [sledge] Optimize and simplify Equality.solve_interp_eqs 5 years ago
Josh Berdine ffdb429f5e [sledge] Factor solve_poly_eq out of solve_interp_eq 5 years ago
Josh Berdine f3f41fbdf2 [sledge] Filter out trivial pure constraints in Sh.map 5 years ago
Josh Berdine 1e32743312 [sledge] Add Shostak solver for aggregate theory 5 years ago
Josh Berdine 232372f083 [sledge] Factor orient out of solve 5 years ago
Josh Berdine a75f2701c3 [sledge] Lambda-lift Equality.solve_ 5 years ago
Josh Berdine a7b0d68574 [sledge] Support Equality.solve generating fresh variables 5 years ago
Josh Berdine 79a74f07c5 [sledge] Pass universal context to Equality.solve 5 years ago
Josh Berdine 06fcb210c9 [sledge] Add Shostak canonizer for aggregate theory 5 years ago
Josh Berdine 7bb1ec073a [sledge] Strengthen Term.invariant on aggregates 5 years ago
Josh Berdine 539b4a0b46 [sledge] Add term to Extract a slice out of an aggregate value 5 years ago
Josh Berdine 8af2a4644a [sledge] Refine dropping of tautologous existential constraints 5 years ago
Josh Berdine 65cff68ae8 [sledge] Strengthen Solver's treatment of existentials using Equality 5 years ago
Josh Berdine 200091fc78 [sledge] Add Equality.Subst.trim 5 years ago
Josh Berdine f0a660792e [sledge] Add Equality.solve_for_vars 5 years ago
Josh Berdine 1afd4f55ba [sledge] Classify Memory and Concat terms as Simplified 5 years ago
Josh Berdine 173a5c0653 [sledge] Exclude equality relation from Sh.fold_vars 5 years ago
Josh Berdine 003479dcc1 [sledge] Factor primitive map function out of Sh.apply_subst 5 years ago
Josh Berdine de52574caf [sledge] Generalize Term.solve_zero_eq to specify solved-for subterm 5 years ago
Josh Berdine c52421bb6f [sledge] Refactor pp_diff from Equality to Map and List 5 years ago
Josh Berdine 5132a46c69 [sledge] Add Map.pp and use it for Var. and Equality.Subst.pp 5 years ago
Josh Berdine 66080d4b44 [sledge] Improve consistency of naming Equality pp functions 5 years ago
Josh Berdine 9b1ff9c012 [sledge] Factor solution substitutions into Equality.Subst 5 years ago
Josh Berdine f7a860401b [sledge] Move Term.solve to Equality 5 years ago
Josh Berdine 0b35328eb0 [sledge] Factor out solving polynomial = 0 equalities from solve 5 years ago
Josh Berdine 62dc914de7 [sledge] Use a defined variant type for Term.classify 5 years ago
Josh Berdine fad59b4dc4 [sledge] Add some missing Vector operations 5 years ago
Josh Berdine 2f0a0cf288 [sledge] Replace Memory and Concat Term constructors with eq_concat 5 years ago
Josh Berdine 0137186fe5 [sledge] Improve Solver tracing 5 years ago
Josh Berdine 18fd68f60a [sledge] Add Trace.infok 5 years ago
Josh Berdine ff65bcce1c [sledge] Minor simplification in Term.map 5 years ago
Josh Berdine 7f727df119 [sledge] Remove size of Splat exps and terms 5 years ago
Josh Berdine 2aa73f9946 [sledge] Use Int.sign instead of non-exhaustive matches 5 years ago
Josh Berdine b17cfd7db6 [sledge] Printing and tracing improvements 5 years ago
Josh Berdine 1ad2c9025a [sledge] Improve Sh docs 5 years ago
Josh Berdine 65f0b691a9 [sledge] Remove redundant `open` 5 years ago
Josh Berdine 84bb409412 [sledge] Sort arguments of Eq terms 5 years ago
Josh Berdine 9338bf1adb [sledge] Minor optimization of nop Var.Subst.freshen 5 years ago
Josh Berdine 914cd06e4d [sledge] Close Equality.classes under one-step congruence 5 years ago
Josh Berdine adb1e48467 [sledge] Simplify printing of symbolic heaps 5 years ago
Josh Berdine 960a9f76a0 [sledge] Remove some fragile patterns 5 years ago
Josh Berdine c52b49e6c0 [sledge] Add Term.Map and Var.Map 5 years ago
Josh Berdine 83c59dc795 [sledge] Simplify Sh.fold_terms to fold_vars 5 years ago
Josh Berdine 01825598f7 [sledge] Equality.and_eq is part of the exposed interface 5 years ago
Josh Berdine 6e01fa91d5 [sledge] Replace Set.inter_diff with clearer diff_inter 5 years ago
Josh Berdine b8833b76b8 [sledge] Add classic equality tests for arithmetic and congruence 5 years ago
Josh Berdine 8fb0632aba [sledge] Add test Makefile targets for generating Llair code 5 years ago
Josh Berdine c9a0b06be2 [sledge] Update expected test results 5 years ago
Scott Owens 1ddeacee50 [sledge sem] Rework phi instructions 5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings 5 years ago
Josh Berdine 517b99e673 [sledge] Avoid infix monad operators in non-pipeline code 5 years ago
Josh Berdine c9449cce77 [sledge] Some simplifications using let+ 5 years ago
Josh Berdine f60ce32125 [sledge] Undeprecate Not_found in the implementation of Import 5 years ago
Josh Berdine 0999d202ad [sledge] Remove dead List.remove 5 years ago
Josh Berdine 661db9db76 [sledge] Implement Map.find_and_remove more directly 5 years ago
Josh Berdine 30aa8aa3b9 [sledge] Basic definitions for monadic binding operators 5 years ago
Josh Berdine cfbbacf9f1 [sledge] Improve using extended open 5 years ago
Josh Berdine 7ed8a6a260 [sledge] Simplify and improve using local subst in sigs 5 years ago
Josh Berdine b22d8b4151 [sledge] Simplify using shadowing of modules from includes 5 years ago
Josh Berdine b1a6928a50 [sledge] Avoid wildcard exception handler 5 years ago
Josh Berdine f2be1cbed0 [sledge] Hashtbl.Key has been deprecated in favor of Hashtbl.Key.S 5 years ago
Josh Berdine b5915db605 [sledge] Clear terminal between builds in watch mode 5 years ago
Josh Berdine 48fd99d48f [sledge] Avoid matching on Not_found 5 years ago
Josh Berdine e201e517c9 [sledge][NFC] Refactor to avoid an unused open warning 5 years ago
Josh Berdine 6c5d9d4acb [sledge] Remove dependency on ppx_import 5 years ago
Josh Berdine 9d7580b5cd [sledge] Remove ocamlformat from dev-tools.opam 5 years ago
Josh Berdine e3734d3d2c [sledge] Fix bug in Term.solve 5 years ago
Josh Berdine 28e4c74426 [sledge] Fix bug in Equality.or_ 5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version 5 years ago
Josh Berdine 52380b017c [sledge][NFC] Simplify Term rec module 5 years ago
Josh Berdine 1f64634093 [sledge] Simplify type conversions 5 years ago
Josh Berdine e6d93dcf94 [sledge][NFC] Simplify term tests 5 years ago
Scott Owens 1bd290634b [sledge sem] Update integer conversions to new LLAIR 5 years ago
Scott Owens f68258ca73 [sledge sem] Update sanity proof for LLAIR convert 5 years ago
Benno Stein beb99932c3 [sledge] Handle more LLAIR expressions in APRON interval analysis 5 years ago
Josh Berdine 752b8ab56a [sledge] Fix normalization of Convert terms 5 years ago
Scott Owens 5caa19990b [sledge sem] Improve a comment 5 years ago
Scott Owens a4f0d6dbb7 [sledge sem] Complete (nearly) proof for phi instrs 5 years ago
Benno Stein 50b60bc049 [sledge] Add APRON-backed Interval abstract domain 5 years ago
Scott Owens 9f0fdd3bfe [sledge sem] Add proof of bit cast implementation 5 years ago
Scott Owens e9296d31b6 [sledge sem] Implement and verify cast expressions 5 years ago
Scott Owens 86024892e1 [sledge sem] Refactor inductive definitions a bit 5 years ago
Scott Owens 573f0d8aed [sledge sem] Make proof progress on phi instructions 5 years ago
Scott Owens 0a35b1da35 [sledge sem] Prove the Load and Store cases (mostly) 5 years ago
Josh Berdine c0c96b5235 [sledge] Refactor Used globals analysis results type and query 5 years ago