src/HOL/SMT.thy
changeset 41432 3214c39777ab
parent 41426 09615ed31f04
child 41459 f0db8f40d656
equal deleted inserted replaced
41431:138f414f14cb 41432:3214c39777ab
   174 
   174 
   175 subsection {* General configuration options *}
   175 subsection {* General configuration options *}
   176 
   176 
   177 text {*
   177 text {*
   178 The option @{text smt_solver} can be used to change the target SMT
   178 The option @{text smt_solver} can be used to change the target SMT
   179 solver.  The possible values are @{text cvc3}, @{text yices}, and
   179 solver.  The possible values can be obtained from the @{text smt_status}
   180 @{text z3}.  It is advisable to locally install the selected solver,
   180 command.
   181 although this is not necessary for @{text cvc3} and @{text z3}, which
   181 *}
   182 can also be used over an Internet-based service.
   182 
   183 
   183 declare [[ smt_solver = cvc3 ]]
   184 When using local SMT solvers, the path to their binaries should be
       
   185 declared by setting the following environment variables:
       
   186 @{text CVC3_SOLVER}, @{text YICES_SOLVER}, and @{text Z3_SOLVER}.
       
   187 *}
       
   188 
       
   189 declare [[ smt_solver = z3 ]]
       
   190 
   184 
   191 text {*
   185 text {*
   192 Since SMT solvers are potentially non-terminating, there is a timeout
   186 Since SMT solvers are potentially non-terminating, there is a timeout
   193 (given in seconds) to restrict their runtime.  A value greater than
   187 (given in seconds) to restrict their runtime.  A value greater than
   194 120 (seconds) is in most cases not advisable.
   188 120 (seconds) is in most cases not advisable.
   216 Each SMT solver provides several commandline options to tweak its
   210 Each SMT solver provides several commandline options to tweak its
   217 behaviour.  They can be passed to the solver by setting the following
   211 behaviour.  They can be passed to the solver by setting the following
   218 options.
   212 options.
   219 *}
   213 *}
   220 
   214 
   221 declare [[ cvc3_options = "", yices_options = "", z3_options = "" ]]
   215 declare [[ cvc3_options = "", remote_cvc3_options = "" ]]
       
   216 declare [[ yices_options = "" ]]
       
   217 declare [[ z3_options = "", remote_z3_options = "" ]]
   222 
   218 
   223 text {*
   219 text {*
   224 Enable the following option to use built-in support for datatypes and
   220 Enable the following option to use built-in support for datatypes and
   225 records.  Currently, this is only implemented for Z3 running in oracle
   221 records.  Currently, this is only implemented for Z3 running in oracle
   226 mode.
   222 mode.