pub struct BisimulationChecker {
pub lts: LabeledTransitionSystem,
}Expand description
Bisimulation checker for labeled transition systems.
Fields§
§lts: LabeledTransitionSystemThe LTS to analyze.
Implementations§
Source§impl BisimulationChecker
impl BisimulationChecker
Sourcepub fn new(lts: LabeledTransitionSystem) -> Self
pub fn new(lts: LabeledTransitionSystem) -> Self
Create a new bisimulation checker for lts.
Sourcepub fn are_bisimilar(&self, s: usize, t: usize) -> bool
pub fn are_bisimilar(&self, s: usize, t: usize) -> bool
Check whether states s and t are bisimilar in the LTS.
Uses a partition-refinement approximation (up to max_rounds rounds).
Sourcepub fn compute_quotient(&self) -> HashMap<usize, usize>
pub fn compute_quotient(&self) -> HashMap<usize, usize>
Compute the bisimulation quotient using Paige-Tarjan partition refinement (simplified version).
Returns a map from state index to equivalence class index.
Sourcepub fn quotient_size(&self) -> usize
pub fn quotient_size(&self) -> usize
Return the number of equivalence classes in the quotient.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BisimulationChecker
impl RefUnwindSafe for BisimulationChecker
impl Send for BisimulationChecker
impl Sync for BisimulationChecker
impl Unpin for BisimulationChecker
impl UnsafeUnpin for BisimulationChecker
impl UnwindSafe for BisimulationChecker
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
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.