- Fixes incorrect type calculation of bitv
*_extend
ops - Bumps bitwuzla 0.4.0 -> 0.6.0 to fix segmentation faults
- Add Dockerfile to built smtml using docker
- Add
Alt-Ergo
mappings - Use
Dolmen
to parse smt2 benchmarks - Add
Binder
expression to model:Forall
,Exists
, andLet_in
- Provide hashconsed sets of expressions in
Expr.Set
- Fixes cvc5 mappigns
- Bump
prelude
0.2 -> 0.3
- Add
Num.set_default_printer
to change between pretty and hexa modes
- Reverted
Num.pp
hexadecimal printing
- Allow creating and lifting bitvecs of bitwidth = 1
- Add unitary value
Value.Unit
- Add simplification cases for Nan and Infinity floats (@joaomhmpereira)
- Add
Model.to_json
function - Add
Solver.get_statistics
function
- Print bitvectors and fps in hexadecimal and removed
Value.pp_num
- Deprecated
Solver.get_statistics
- Add conflicts on solvers versions outside depopt range (@krtab)
- Added
List
andApp
values (@joaomhmpereira) - Added
Naryop
toExpr
(@joaomhmpereira) - Added
val Expr.ptr : int32 -> t -> t
constructor (@filipeom) - Added missing concrete simplification to
Eval
(@joaomhmpereira)
- Renamed
Seq_
operators toString_
(@joaomhmpereira) String.concat
is now a nary operator (@joaomhmpereira)- Made
Eval.TypeError
more explicit on which operator triggered the error. (@joaomhmpereira) - Made
Expr.Ptr
a record (@filipeom)
- Missing bitwuzla operators
to_fp
andof_ieee_bv
.
- Changed
Num.( = )
toNum.equal
to be more consistent with other modules
- Fixed comparison of boolean values
- Adds
Solver_dispacher.{is_available|available_solvers|solver}
to check availability of installed solvers - Model generation for Bitwuzla
- Exposes
Optimizer.Make
to allow for parametric optimizers - Makes Z3 optional
- Parametric mappings should only create sorts once
- Improves interoperability with multiple solvers
- Bug fixes for
colibri2
andz3
- Adds preliminary support for cvc5
- Renames project to
Smt.ml
and library tosmtml
- Minor fixes and typos
- Adds preliminary support for the Bitwuzla solver
- Completes concrete simplifications
Solver.check
now returns aSat | Unsat | Unknown
instead of abool
value- Adds owi's simplifications and smart op constructors
- Moves theory annotation (
Ty.t
) only to necessary variants
- Adds Arthur's clz and ctz implementations for i64s
- Completes missing
eval_numeric
operations - Adds more tests to increase code coverage
- Adds
extend_ixx
to lexer - Adds colibri2 mappings
- Fixes hash-consing in 72eeb6f
- Rename
declare-fun
tolet-const
- Rotate_left and rotate_right operators
- Print floats in OCaml syntax (Closes #49)
- Improve bitv creation interface
- Add naive hash-consing of expressions
- Add
Ceil
andFloor
FPA operators - Start migrating inline tests to standard tests
- No simplifier on batch solver
- Support for bv8
- Refactor optimizer interface
- Fixes batch solver in
e061344
- Adds default simplifier in z3 leading to great performance gains
- Adds logic configuration option to
mk_solver
- Fixes pp function in
11476fb
- Adds
ematching
andtimeout
parameters - Improves documentation
- Relax ocaml compiler constraint to
>= 4.14.0
Initial release