Commit Graph

561 Commits (f343be40f44a6e18b87baf9d1242771eced56a81)

Author SHA1 Message Date
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