pub struct LinearTemporalLogic {
pub formula: String,
}Expand description
A Linear Temporal Logic (LTL) formula represented as a string.
The current implementation uses a simplified embedded DSL rather than a full LTL parser.
Fields§
§formula: StringThe LTL formula expressed in textual form.
Implementations§
Source§impl LinearTemporalLogic
impl LinearTemporalLogic
Sourcepub fn check_safety<S, F>(&self, trace: &[S], predicate: F) -> bool
pub fn check_safety<S, F>(&self, trace: &[S], predicate: F) -> bool
Check a safety property: returns true if the formula is satisfied
for all positions in trace.
Safety properties have the form “always P” – here predicate is
evaluated on every state.
Sourcepub fn check_liveness<S, F>(&self, trace: &[S], predicate: F) -> bool
pub fn check_liveness<S, F>(&self, trace: &[S], predicate: F) -> bool
Check a liveness property: returns true if predicate is true at
least once in trace.
Liveness properties have the form “eventually P”.
Sourcepub fn check_next<S, F, G>(&self, trace: &[S], trigger: F, predicate: G) -> bool
pub fn check_next<S, F, G>(&self, trace: &[S], trigger: F, predicate: G) -> bool
Check a “next” property: returns true if predicate holds at every
state immediately following a state where trigger holds.
Trait Implementations§
Source§impl Clone for LinearTemporalLogic
impl Clone for LinearTemporalLogic
Source§fn clone(&self) -> LinearTemporalLogic
fn clone(&self) -> LinearTemporalLogic
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 LinearTemporalLogic
impl RefUnwindSafe for LinearTemporalLogic
impl Send for LinearTemporalLogic
impl Sync for LinearTemporalLogic
impl Unpin for LinearTemporalLogic
impl UnsafeUnpin for LinearTemporalLogic
impl UnwindSafe for LinearTemporalLogic
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.