You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For model checking, we want the bdd_relprod operatios to apply a transition relation to a set of states.
Basic Non-trivial Implementation
The most basic version is by using all of our pieces to compute (∃ x : S(x) ∧T(x,x') )[x'/x] , where the exists and replace are provided with a single function<optional<label_type>(label_type)>.
For model checking, we want the
bdd_relprod
operatios to apply a transition relation to a set of states.Basic Non-trivial Implementation
The most basic version is by using all of our pieces to compute (∃ x : S(x) ∧T(x,x') )[x'/x] , where the exists and replace are provided with a single
function<optional<label_type>(label_type)>
.bdd_relprod
with the following signaturebdd_relnext
with the following signaturebdd_relprev
with the following signatureTo do so, use the Apply from v1.0 ( #35 etc. ), the Multi-variable Quantification of v2.0 ( #499 etc ), and Relabelling of v2.1 ( #498 ).
Optimisations
bdd_and
directly inside ofbdd_exists
bdd_and
: prune a node if it has a true child and will be quantified later.bdd_relnext
: Include the relabelling directly inside the nested quantification sweep, if it is monotonic.bdd_relprev
: Support thereplace_type::shift
( Addbdd_replace
for monotonic renamings #498 ).dd_replace
with non-monotonic renamings #500 is done.The text was updated successfully, but these errors were encountered: