pub struct BDDModelChecker {
pub mgr: BDDManager,
pub num_vars: usize,
pub init_bdd: usize,
pub trans_bdd: usize,
}Expand description
A symbolic model checker that uses BDDs to verify CTL properties.
Fields§
§mgr: BDDManagerThe BDD manager.
num_vars: usizeNumber of state variables (state encoded as num_vars bits).
init_bdd: usizeBDD id representing the initial states.
trans_bdd: usizeBDD id representing the transition relation T(s, s’).
Implementations§
Source§impl BDDModelChecker
impl BDDModelChecker
Sourcepub fn post(&mut self, states: usize) -> usize
pub fn post(&mut self, states: usize) -> usize
Compute the set of states reachable from states in one step.
Sourcepub fn pre(&mut self, states: usize) -> usize
pub fn pre(&mut self, states: usize) -> usize
Compute the set of states that can reach states in one step.
Sourcepub fn reachable(&mut self) -> usize
pub fn reachable(&mut self) -> usize
Compute the set of all reachable states (forward BFS via BDDs).
Sourcepub fn check_ag_safe(&mut self, safe: usize) -> bool
pub fn check_ag_safe(&mut self, safe: usize) -> bool
Check AG(safe): all reachable states satisfy the safe BDD predicate.
Trait Implementations§
Source§impl Clone for BDDModelChecker
impl Clone for BDDModelChecker
Source§fn clone(&self) -> BDDModelChecker
fn clone(&self) -> BDDModelChecker
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BDDModelChecker
impl RefUnwindSafe for BDDModelChecker
impl Send for BDDModelChecker
impl Sync for BDDModelChecker
impl Unpin for BDDModelChecker
impl UnsafeUnpin for BDDModelChecker
impl UnwindSafe for BDDModelChecker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more