pub struct PdlModel {
pub kripke: KripkeModel,
pub n_programs: usize,
}Expand description
A PDL model: finite Kripke frame with named atomic programs.
Fields§
§kripke: KripkeModelThe Kripke model underlying the PDL model.
n_programs: usizeNumber of atomic programs.
Implementations§
Source§impl PdlModel
impl PdlModel
Sourcepub fn new(kripke: KripkeModel, n_programs: usize) -> Self
pub fn new(kripke: KripkeModel, n_programs: usize) -> Self
Create a new PDL model.
Sourcepub fn reachable(&self, start: usize, prog: &PdlProgram) -> HashSet<usize>
pub fn reachable(&self, start: usize, prog: &PdlProgram) -> HashSet<usize>
Compute the set of worlds reachable from start by executing program prog.
Sourcepub fn box_program(
&self,
w: usize,
prog: &PdlProgram,
phi: &ModalFormula,
) -> bool
pub fn box_program( &self, w: usize, prog: &PdlProgram, phi: &ModalFormula, ) -> bool
Evaluate [α]φ at world w: all successors via α satisfy φ.
Sourcepub fn diamond_program(
&self,
w: usize,
prog: &PdlProgram,
phi: &ModalFormula,
) -> bool
pub fn diamond_program( &self, w: usize, prog: &PdlProgram, phi: &ModalFormula, ) -> bool
Evaluate ⟨α⟩φ at world w: some successor via α satisfies φ.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PdlModel
impl RefUnwindSafe for PdlModel
impl Send for PdlModel
impl Sync for PdlModel
impl Unpin for PdlModel
impl UnsafeUnpin for PdlModel
impl UnwindSafe for PdlModel
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