pub struct MuCalculusEval {
pub model: KripkeModel,
pub env: HashMap<PropVar, HashSet<usize>>,
}Expand description
A simple mu-calculus fixed-point evaluator on finite Kripke models.
Fields§
§model: KripkeModelThe underlying Kripke model.
env: HashMap<PropVar, HashSet<usize>>Variable environment: propositional variable -> set of worlds.
Implementations§
Source§impl MuCalculusEval
impl MuCalculusEval
Sourcepub fn new(model: KripkeModel) -> Self
pub fn new(model: KripkeModel) -> Self
Create a new evaluator with an empty environment.
Sourcepub fn least_fixed_point<F>(&self, step: F) -> HashSet<usize>
pub fn least_fixed_point<F>(&self, step: F) -> HashSet<usize>
Compute the least fixed point: iterate from empty set upward until stable.
Sourcepub fn greatest_fixed_point<F>(&self, step: F) -> HashSet<usize>
pub fn greatest_fixed_point<F>(&self, step: F) -> HashSet<usize>
Compute the greatest fixed point: iterate from all worlds downward until stable.
Sourcepub fn reachability(&self, phi: &ModalFormula) -> HashSet<usize>
pub fn reachability(&self, phi: &ModalFormula) -> HashSet<usize>
Evaluate reachability: least fixed point of (φ ∨ ◇X).
Sourcepub fn safety(&self, phi: &ModalFormula) -> HashSet<usize>
pub fn safety(&self, phi: &ModalFormula) -> HashSet<usize>
Evaluate safety: greatest fixed point of (φ ∧ □X).
Trait Implementations§
Source§impl Clone for MuCalculusEval
impl Clone for MuCalculusEval
Source§fn clone(&self) -> MuCalculusEval
fn clone(&self) -> MuCalculusEval
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 MuCalculusEval
impl RefUnwindSafe for MuCalculusEval
impl Send for MuCalculusEval
impl Sync for MuCalculusEval
impl Unpin for MuCalculusEval
impl UnsafeUnpin for MuCalculusEval
impl UnwindSafe for MuCalculusEval
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