You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Boolector
Hello,
basicly what im trying to do is to terminate boolector after a function returns a certain value.
For example a function that returns true after a certain while.
My current understanding of the termination and termination_callback functions is that i enter the desired function and the state it triggers the termination into the termination_callback.
Example:
int32 myTimer(int32 x) {
//wait for x amount of time
return 1;
}
set_term(btor, myTimer, 1)
But when do i call boolector_terminate?
And does it check if its supposed to terminate even if its currently solving something?
Thank you for your help and have a nice day,
Daniel
Aina Niemetz
unread,
Oct 17, 2019, 9:09:19 PM10/17/19
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 'Skarrabor' via Boolector
Hi Daniel,
by setting the callback function with boolector_set_term, Boolector will
then terminate when the termination condition is met. Boolector checks
the callback function at certain check points in the code.
The function boolector_terminate returns true if the termination
condition is met. You typically don't need to call this function.
You will only need this if you build something on top of Boolector and
want to terminate when Boolector terminates.
Note that this termination mechanism is only propagated to the
underlying SAT solver if it also supports such a mechanism (currently,
of the supported SAT solvers only Lingeling does).
If the SAT solver does not support such a termination mechanism, we have
no way to terminate the SAT solver even when the termination condition
is true -- we have to wait until the call to the SAT solver is done.