Skip to content

Commit

Permalink
Document limitations of Z3.Config
Browse files Browse the repository at this point in the history
  • Loading branch information
facundominguez committed Jan 25, 2024
1 parent 25e0baf commit 0605a02
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
5 changes: 5 additions & 0 deletions smtlib-backends-z3/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
All notable changes to the smtlib-backends-z3 library will be documented in this
file.

## next

### Added
- note about `Z3.Config` limitations

## v0.3 _(2023-02-03)_

### Added
Expand Down
14 changes: 14 additions & 0 deletions smtlib-backends-z3/src/SMTLIB/Backends/Z3.hs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,20 @@ newtype Config = Config
{ -- | A list of options to set during the solver's initialization.
-- Each pair is of the form @(paramId, paramValue)@, e.g.
-- @(":produce-models", "true")@.
--
-- Note that Z3 has different kinds of parameters, and not all of
-- them can be set here. In particular, there are the so called
-- global and module parameters with a value that affects
-- all solver instances (in our experiments those started after
-- changing the parameter). We have found some of these global
-- parameters to be ignored when provided here. You might have more
-- luck setting them after starting the solver:
--
-- > command_ solver "(set-option :parameter_name value)"
--
-- Or using `Z3_global_param_set` from the Z3 API directly.
--
-- > foreign import capi unsafe "z3.h Z3_global_param_set" c_Z3_global_param_set :: CString -> CString -> IO ()
parameters :: [(BS.ByteString, BS.ByteString)]
}

Expand Down

0 comments on commit 0605a02

Please sign in to comment.