1038 Commits (b52189d68f49fafd188a44e77d74f042ffa2a898)

Author SHA1 Message Date
Josh Berdine f00ee99c2c [sledge] Improve test Makefile
4 years ago
Josh Berdine 6da7dbbdd1 [sledge] Fix sledge llvm translate command
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 82581e4074 [sledge] Fix existential mishandling in Sh.simplify
4 years ago
Josh Berdine 169ee34371 [sledge] Drop fresh variables that do not appear in the solution
4 years ago
Josh Berdine bfbd39c2a7 [sledge] Interpret conversions between float types as identity
4 years ago
Josh Berdine 868a8b8526 [sledge] Interpret conversions between pointer types as identity
4 years ago
Josh Berdine 855461700e [sledge] Minor code simplification in Domain_sh.retn
4 years ago
Josh Berdine a1a913e626 [sledge] Improve name of convert function symbols
4 years ago
Josh Berdine 0f060b1779 [sledge] Fix Sh.star when formulas can be false without unsat context
4 years ago
Josh Berdine e057756e04 [sledge] Improve sledge report
4 years ago
Josh Berdine 29af15cdd1 [sledge] Add Containers.Ord
4 years ago
Josh Berdine 8dc7635251 [sledge] Add handler for Ctrl-C
4 years ago
Josh Berdine 22f17140f0 [sledge] Minor exception optimizations
4 years ago
Josh Berdine 7f9afea411 [sledge] Run debug code when printing is not enabled
4 years ago
Josh Berdine 52b511d053 [sledge] Improve backtraces of invariant violation and replay exceptions
4 years ago
Josh Berdine 51a16621aa [sledge] Fix unintended quoting of symbol names
4 years ago
Josh Berdine 7a9fe91846 [sledge] Strengthen normalization by flattening nested And and Or formulas
4 years ago
Josh Berdine 93145cf4e6 [sledge] Minor simplification of implementation of Sh.norm_
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
Josh Berdine 03c2a6f118 [sledge] Switch Fol.Context from using Ses.Equality to Context
4 years ago
Josh Berdine ca9acdb915 [sledge] Port Ses equality solver to Fol term and formula representation
4 years ago
Josh Berdine fcc27cf7a2 [sledge] Expose Formula.t = Fml.t
4 years ago
Josh Berdine b5b4cdd6a8 [sledge] Add Term.get_trm
4 years ago
Josh Berdine 82826db011 [sledge] Add Trm.height
4 years ago
Josh Berdine 8381e149a3 [sledge] Add Trm.fv
4 years ago
Josh Berdine 84234b7d37 [sledge] Add Var.of_trm
4 years ago
Josh Berdine 4756316217 [sledge] Add Term.map_trms
4 years ago
Josh Berdine 6f5f42b3e3 [sledge] Add Trm.map
4 years ago
Josh Berdine 414b4fcaea [sledge] Add Trm.Map
4 years ago
Josh Berdine 96ee17897c [sledge] Add Trm.pp_diff and expose Trm.pp
4 years ago
Josh Berdine 402bb5f59b [sledge] Simplify Var.strength type
4 years ago
Josh Berdine 48dcd01547 [sledge] Strengthen normalization of And and Or formulas
4 years ago
Josh Berdine 4473c6a193 [sledge] Move Formula.fold_dnf to Fml
4 years ago
Josh Berdine cc3f76b0ad [sledge] Strengthen normalization of conditional terms
4 years ago
Josh Berdine b1b79a3fed [sledge] Fix Arithmetic.map
4 years ago
Josh Berdine 6ea7d26d78 [sledge] Improve printing
4 years ago
Josh Berdine 849c5c3ab5 [sledge] Add Map.partition_map
4 years ago
Josh Berdine 1da536ebe5 [sledge] Change to normal argument order for Set.mem
4 years ago
Josh Berdine 54f6b9e974 [sledge] Add iterator of subterms of Trm.t
4 years ago
Josh Berdine e4749098b2 [sledge] Add Arithmetic.solve_zero_eq
4 years ago
Josh Berdine f007b774f4 [sledge] Do not expose the internal Fml interface
4 years ago
Josh Berdine 21f3287e42 [sledge] Do not expose the internal Trm interface
4 years ago
Josh Berdine 194127eb4b [sledge] Move additional Fol representation operations to Trm and Fml
4 years ago
Josh Berdine dd19e11949 [sledge] Rename Fol core types to follow convention
4 years ago
Josh Berdine 1643bf1c50 [sledge] Factor core Fol modules into separate modules
4 years ago
Josh Berdine 90675ca33a [sledge] Improve Monad interface
4 years ago
Josh Berdine 50e4fc3e8c [sledge] Replace fold_vars with an iterator in Fol
4 years ago
Josh Berdine 4bca4f238e [sledge] Add Fol normalization of sequence terms
4 years ago
Josh Berdine 6b2f0a4a1e [sledge] Strengthen normalization of arithmetic equalities
4 years ago
Josh Berdine 04a9a06870 [sledge] Omit true from conjunction and false from disjunction
4 years ago
Josh Berdine 4a59f053fa [sledge] Improve printing
4 years ago
Josh Berdine 3b4c7ab41f [sledge] Move normalization of literals out of Propositional
4 years ago
Josh Berdine 2083e3ee86 [sledge] Minor simplifications using Set and Map iterators
4 years ago
Josh Berdine 920c553902 [sledge] Change type of fold functions for improved composition
4 years ago
Josh Berdine ec4cb61db3 [sledge] Shift to a more standard Set API
4 years ago
Josh Berdine 46abb011cb [sledge] Do not reverse Map.to_iter
4 years ago
Josh Berdine 4780b92584 [sledge] Shift to a more standard Map API
4 years ago
Josh Berdine 01bf695fa3 [sledge] Do not set -error-style short
4 years ago
Josh Berdine 917e57a5cf [sledge] Simplify equal_or_opposite to eval_iff
4 years ago
Josh Berdine f29f5cfb6b [sledge] Factor Fol.Fml out into a separate module
4 years ago
Josh Berdine e8b94baae2 [sledge] Normalize And and Or formulas wrt ACUZ
4 years ago
Josh Berdine 6ddb9fe1b8 [sledge] Avoid use of polymorphic compare default arguments in nonstdlib
4 years ago
Josh Berdine 5574c5e078 [sledge] Replace uses of Base.With_return with Iterators
4 years ago
Josh Berdine 1697382344 [sledge] Switch IArray from Core_kernel.Array to NS.Array
4 years ago
Josh Berdine 9959fbb478 [sledge] Switch from Base.Array to Containers.Array
4 years ago
Josh Berdine e5bcaa34cb [sledge] Add Term.split_const and use instead of const_of
4 years ago
Josh Berdine 429ddee9f5 [sledge] Add test for chunking segments when printing Sh
4 years ago
Josh Berdine c35c4e2789 [sledge] Switch from Base.List to Containers.List
4 years ago
Josh Berdine 409b21ec64 [sledge] Switch from Base.Option to Containers.Option
4 years ago
Josh Berdine 3f4f0cc4ac [sledge] Switch from Base.String to Containers.String
4 years ago
Josh Berdine 99791f55f7 [sledge] Switch from Base.Int to Stdlib and Containers
4 years ago
Josh Berdine 94bf571950 [sledge] Rename Fheap to FHeap for consistency
4 years ago
Josh Berdine ad25b2be4e [sledge] Rename Hash_queue to HashQueue for consistency
4 years ago
Josh Berdine 9a238a76da [sledge] Switch from Base.Hashtbl to Containers.Hashtbl
4 years ago
Josh Berdine 08da86ae62 [sledge] Switch from Base.Hash_set to CCHashSet
4 years ago
Josh Berdine b6a77f6567 [sledge] Refactor nonstdlib to avoid opening Core
4 years ago
Josh Berdine ce9a5cfa30 [sledge] Add containers-data dependency
4 years ago
Josh Berdine 73be4779ab [sledge] Minor simplification of outputting Report
4 years ago
Josh Berdine e2f0aab454 [sledge] Do not expose Report dependency on Unix.process_times
4 years ago
Josh Berdine a204c7f7be [sledge] Remove unused filter_map_endo functions
4 years ago
Josh Berdine 78a3dee2d9 [sledge] Rename gt0 to pos and remove le0, ge0, lt0
4 years ago
Josh Berdine 5fac93bd44 [sledge] Simplify is_negative based on NNF, add positive condition invariant
4 years ago
Josh Berdine 93ed599153 [sledge] Add formula invariant to check NNF
4 years ago
Josh Berdine 6427b99a16 [sledge] Remove exclusive-or formula
4 years ago
Josh Berdine d22d1ebd62 [sledge] Remove negative uninterpreted literal formula
4 years ago
Josh Berdine 2ac6b7be75 [sledge] Remove non-positive formula
4 years ago
Josh Berdine 5ea779671a [sledge] Remove non-zero formula
4 years ago
Josh Berdine 5acd64c22e [sledge] Remove disequality formula
4 years ago
Josh Berdine 157e990d36 [sledge] Remove false formula
4 years ago
Josh Berdine 474bd68fca [sledge] Add negation formula
4 years ago
Josh Berdine 7b82ab17bf [sledge] Remove redundant Ge0 and Lt0 predicates
4 years ago
Josh Berdine 5b4be9cab8 [sledge] Add Term.invariant and justified minor code simplifications
4 years ago
Josh Berdine 3258761ac3 [sledge] Represent arithmetic terms using polynomials
4 years ago
Josh Berdine 1dca0cb375 [sledge] Evaluate function symbols applied to constants
4 years ago
Josh Berdine df35f9702a [sledge] Generalize Multiset over type of multiplicities
4 years ago
Josh Berdine bd49ad84a8 [sledge] Rename Qset to Multiset
4 years ago
Josh Berdine 682fb9158c [sledge] Switch from Base.Map to Containers.Map
4 years ago
Josh Berdine 779e9405c8 [sledge] Switch from Base.Set to Containers.Set
4 years ago
Josh Berdine 577ef67a68 [sledge] Fix doc in Ses.Term
4 years ago
Josh Berdine dca725b33d [sledge] Parameterize Var.strength over type of variables
4 years ago
Josh Berdine febe384a0b [sledge] Minor clean test Makefile
4 years ago
Josh Berdine 8a7962c784 [sledge] Improve doc in Fol
4 years ago
Josh Berdine 48d96c13ba [sledge] Improve Llair_to_Fol translation of formulas
4 years ago
Josh Berdine 914ec65844 [sledge] Move Llair to Fol translation to separate module
4 years ago
Josh Berdine df4d350d48 [sledge] Remove Tuple and Project terms
4 years ago
Josh Berdine 83e9eb464a [sledge] Change applications and literals to nary
4 years ago
Josh Berdine 09c9a0a1ff [sledge] Simplify Fol normalizing constructor code
4 years ago
Josh Berdine 615f245027 [sledge] Replace RecRecord uninterpreted function symbol with Ancestor term
4 years ago
Josh Berdine 598cb0a449 [sledge] Replace empty record term with flat record terms
4 years ago
Josh Berdine c31a6e600a [sledge] Simplify record term indices from terms to ints
4 years ago
Josh Berdine 9e826c3454 [sledge] Remove Funsym.Convert
4 years ago
Josh Berdine fc841bcf0c [sledge] Remove Funsym.Label
4 years ago
Josh Berdine 2f4e3e17b6 [sledge] Remove Funsym.Float
4 years ago
Josh Berdine 70a7224543 [sledge] Remove Term.of_exp
4 years ago
Josh Berdine fecc6caf6b [sledge] Implement Domain_itv over Llair.Exp instead of Term
4 years ago
Josh Berdine 3f2de05920 [sledge] Add general uninterpreted predicates and use for "ord" and "uno"
4 years ago
Josh Berdine a2332808d7 [sledge] Document function symbols
4 years ago
Josh Berdine a0a5cf159a [sledge] Separate Funsym module
4 years ago
Josh Berdine 6b5fc4be3e [sledge] Add general uninterpreted functions and applications
4 years ago
Josh Berdine ec83068651 [sledge] Minor cleanup in Fol
4 years ago
Josh Berdine 51c7e23d26 [sledge] Remove unneeded use of Formula.inject
4 years ago
Josh Berdine 0c93599cc2 [sledge] Improve printing of Fol.Context
4 years ago
Josh Berdine cc835c6e64 [sledge] Improve printing of conditional terms
4 years ago
Josh Berdine bf1f4c393a [sledge] Move renaming substitutions to Var0
4 years ago
Josh Berdine d09121d089 [sledge] Implement Fol.Var using generic implementation
4 years ago
Josh Berdine 9d38d413ce [sledge] Build: Add version constraint on apron to fix macos build
4 years ago
Josh Berdine e4426acb8a [sledge] Refactor: Generalize impl of Var over repr and move to separate module
4 years ago
Josh Berdine a7c85e2262 [sledge] Refactor: Reorder Term definitions
4 years ago
Josh Berdine d8d9d4b2e5 [sledge] Refactor: Remove dead Var.of_reg{,s}
4 years ago
Josh Berdine 3ee953ebef [sledge] Test: Include steps stats in reports
4 years ago
Josh Berdine 0f7ecbe9fe [sledge] Build: Rename bin dir to cli
4 years ago
Josh Berdine da348a603b [sledge] Improve: Solver tracing on unhandled exceptions
4 years ago
Josh Berdine 7712de24e5 [ppx_trace] Add trace function and extension to support unhandled exceptions
4 years ago
Josh Berdine 3ef4ce321c [ppx_trace] Improve: Remove explicit dependency on Stdlib.Fun.id
4 years ago
Josh Berdine 31916a2a57 [ppx_trace] Build: Add version limit on ppxlib
4 years ago
Josh Berdine fd434aacb8 [ppx_trace] Refactor: Implement expansion of [%debug] using Ppxlib.Extension
4 years ago
Josh Berdine 77f2b7a02f [ppx_trace] Refactor: Avoid using Ast_mapper for ppxlib 0.16 compatibility
4 years ago
Josh Berdine 936ad83650 [sledge] Improve: Include order info in equal_or_separate
4 years ago
Josh Berdine d7cd987780 [sledge] Build: Do not clean help file
4 years ago
Josh Berdine 5f82adbf37 [sledge] Improve: Replace naive implementation of Fol.equal_or_opposite
4 years ago
Josh Berdine d8114b4688 [sledge] Improve: Normalize polarity of conditional formulas
4 years ago
Josh Berdine 74086e926a [sledge] Improve: Normalize order of symmetric binary formulas
4 years ago
Josh Berdine d87d8f7ef2 [sledge] Test: Update test infra
4 years ago
Josh Berdine 4c52102882 [sledge] Test: Add executable for manipulating reports
4 years ago
Josh Berdine 334661b474 [sledge] Improve: result status reporting and unhandled exceptions
4 years ago
Josh Berdine f160ac8a62 [sledge] Improve: Print locations with relative pathnames
4 years ago
Josh Berdine 2c16e15c92 [sledge] Add: __llair_choice intrinsic
4 years ago
Josh Berdine 6f435a74d7 [sledge] Add sledge llvm disassemble subcommand
4 years ago
Josh Berdine ca02dbd4aa [sledge][buck] Use same mode for buck root as buck build
4 years ago
Josh Berdine 7fd5dc49be [sledge] Add: SMT-LIB frontend to SLEdge's internal first-order theory solver
4 years ago
Josh Berdine f12ca72f07 [sledge] Fix: Replace Formula.disjuncts with DNF in Sh.pure
4 years ago
Josh Berdine 3e7aeed230 [sledge] Improve: Sh.fold_dnf to use iter vs list
4 years ago
Josh Berdine edda611c9c [sledge] Add: Iter library
4 years ago
Josh Berdine 60248165fd [sledge] Fix: Sh.pure
4 years ago
Josh Berdine 93c6dcc480 [sledge] Refactor: Replace Sh.with_pure with ~ignore_pure arg to Sh.fv
4 years ago
Josh Berdine 8ca41a9639 [sledge] Test: Move test modules into test directory
4 years ago
Josh Berdine 02ddb5a59f [sledge] Test: Move tests from Equality to Fol
4 years ago
Josh Berdine b0cd050d6f [sledge] Add: Replay debugging for more entry points
4 years ago
Josh Berdine 19cc35b65e [sledge] Add: Context.inter
4 years ago
Josh Berdine 53a1160bdb [sledge] Refactor: Reorder Context definitions
4 years ago
Josh Berdine ec7f02a585 [sledge] Add: Normalization of constant, equal and negated subterms/formulas
4 years ago
Josh Berdine 85b135dcbb [sledge] Build: Require dune >= 2.7
4 years ago
Josh Berdine cf322a4e84 [sledge] Style: fix make fmt
4 years ago
Josh Berdine 284a2ae165 [sledge] Add: Formula.map_terms and use it to remove Context.Subst.substf
4 years ago
Josh Berdine a51f4e5fec [sledge] Change: Normalize trivial equalities
4 years ago
Josh Berdine e5108b9ac1 [sledge] Refactor: Formula embedding into conditional term normalization
4 years ago
Josh Berdine dd9c1cd19a [sledge] Refactor: Fol.fml to private Fol.Fml
4 years ago
Josh Berdine 258d5306fb [sledge] Refactor: Revise external Context printing API
4 years ago
Josh Berdine c440ce81fe [sledge] Refactor: Replace Formula.is_false with equal ff, similarly for tt
4 years ago
Josh Berdine f20cabf7a4 [sledge] Change: Context interface to set-of-assumptions terminology
4 years ago
Josh Berdine 4da75ad2b0 [sledge] Change: Arithmetic comparison formulas to unary
4 years ago
Josh Berdine 263f5aa8a5 [sledge] Refactor: Reorder Fol definitions
4 years ago
Josh Berdine 73adcdf8af [sledge] Change: Formula to negation-normal form
4 years ago
Josh Berdine 379fedb845 [sledge] Add: Uninterpreted predicate symbols and literals to Fol
4 years ago
Josh Berdine 8f66a20afe [sledge] Refactor: Expose Context.fold_vars instead of fold_terms
4 years ago
Josh Berdine 5c4598c2e9 [sledge] Refactor: Context.difference to Solver
4 years ago
Josh Berdine df276d7be6 [sledge] Change: Move printing of Sh context and pure part to Context
4 years ago
Josh Berdine 8ced659303 [sledge] Change: Strengthen Sh.is_false by defining ito pure_approx
4 years ago
Josh Berdine 1881e990da [sledge] Change: Strengthen Sh.pure_approx with segment loc non-null
4 years ago
Josh Berdine 96aa56507f [sledge] Change: Revise Sh handling of empty and pure approximation
4 years ago
Josh Berdine f606ac0915 [sledge] Change: Sh.pure_approx to a Formula
4 years ago
Josh Berdine 867131e964 [sledge] Change: Generalize entails_eq to implies
4 years ago
Josh Berdine c9fa894a31 [sledge] Refactor: Move difference from Equality to Context
4 years ago
Josh Berdine fbc4f704ca [sledge] Fix: Fol.of_ses to normalize Ses polynomials
4 years ago
Josh Berdine f649c3693f [sledge] Fix: Fol.ses_map to account for simplification in Fol.to_ses
4 years ago
Josh Berdine b741bcd490 [sledge] Refactor: Move diff_classes from Equality to Context
4 years ago
Josh Berdine e3cbb0f27d [sledge] Add: Uninterpreted function symbols and applications to Fol
4 years ago
Josh Berdine c122577c18 [sledge] Change: Generalize Fol functional array indices from int to term
4 years ago
Josh Berdine 48833cc63b [sledge] Refactor: Expose constructors for record Terms
4 years ago
Josh Berdine d39dd1fee2 [sledge] Add: Array hash and sexp functions
4 years ago
Josh Berdine 04f7336301 [sledge] Build: Disable warning 30
4 years ago
Josh Berdine 32206a282f [sledge] Build: Suppress compiler error message noise
4 years ago