pub enum ErrorTarget {
Reach(UpwardsClosedSet),
Invariant(UpwardsClosedSet),
Ensure {
pre: UpwardsClosedSet,
inv: UpwardsClosedSet,
},
Repeat {
pre: UpwardsClosedSet,
inv: UpwardsClosedSet,
},
Top,
}Expand description
Temporal part of an ErrorAtom
Variants§
Reach(UpwardsClosedSet)
<>(set): some configuration in the set is reachable
Invariant(UpwardsClosedSet)
[](set): there is an (infinite) run that never leaves the set
Ensure
<>(pre && [](inv)): there is an (infinite) run that reaches a
configuration in pre and never leaves inv afterwards
Fields
pre: UpwardsClosedSetSet of configurations to reach
inv: UpwardsClosedSetSet of configurations that is never left after reaching pre
Repeat
[](pre && <>(inv)): there is an (infinite) run that never leaves
pre and visits inv infinitely often
Fields
pre: UpwardsClosedSetSet of configurations that is never left
inv: UpwardsClosedSetSet of configurations that is visited infinitely often
Top
No temporal part: the atom is only a restriction on the initial configuration
Implementations§
Source§impl ErrorTarget
impl ErrorTarget
Sourcefn try_unify_and(&self, other: &Self) -> Option<Self>
fn try_unify_and(&self, other: &Self) -> Option<Self>
Merge two targets that are the operands of one &&, if possible
Sourcefn try_unify_or(&self, other: &Self) -> Option<Self>
fn try_unify_or(&self, other: &Self) -> Option<Self>
Merge two targets that are the operands of one ||, if possible
Sourcefn extract_from_inner_globally(
expr: NonNegatedELTLExpression,
) -> Result<ErrorTarget, ExtractionError>
fn extract_from_inner_globally( expr: NonNegatedELTLExpression, ) -> Result<ErrorTarget, ExtractionError>
Extract the invariant or repeat target of a formula inside a []
Sourcefn extract_from_inner_eventually(
expr: NonNegatedELTLExpression,
) -> Result<Disjunction<ErrorTarget>, ExtractionError>
fn extract_from_inner_eventually( expr: NonNegatedELTLExpression, ) -> Result<Disjunction<ErrorTarget>, ExtractionError>
Extract the reach and repeat targets of a formula inside an <>
Source§impl ErrorTarget
impl ErrorTarget
Sourcepub fn new_reach(tgt: UpwardsClosedSet) -> Self
pub fn new_reach(tgt: UpwardsClosedSet) -> Self
Create a new atom requiring to reach an upwards closed set of locations
Sourcepub fn new_invariant(tgt: UpwardsClosedSet) -> Self
pub fn new_invariant(tgt: UpwardsClosedSet) -> Self
Create a new atom requiring to never leave an upwards closed set of locations
Sourcepub fn new_ensure(pre: UpwardsClosedSet, inv: UpwardsClosedSet) -> Self
pub fn new_ensure(pre: UpwardsClosedSet, inv: UpwardsClosedSet) -> Self
Create a new atom requiring to reach a configuration in pre while
never leaving inv afterwards
Sourcepub fn new_repeat(pre: UpwardsClosedSet, inv: UpwardsClosedSet) -> Self
pub fn new_repeat(pre: UpwardsClosedSet, inv: UpwardsClosedSet) -> Self
Create a new atom requiring to ensure that a run never leaves pre
while eventually reaching inv
Sourcepub fn contains_reachability_constraint(&self) -> bool
pub fn contains_reachability_constraint(&self) -> bool
Check whether specification contains a reachability constraint where at least one location needs to be empty
Only ErrorTarget::Reach targets are considered, the other temporal
targets always return false.
Sourcefn sets(&self) -> impl Iterator<Item = &UpwardsClosedSet>
fn sets(&self) -> impl Iterator<Item = &UpwardsClosedSet>
The upwards closed sets appearing in this target
Trait Implementations§
Source§impl Clone for ErrorTarget
impl Clone for ErrorTarget
Source§fn clone(&self) -> ErrorTarget
fn clone(&self) -> ErrorTarget
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ErrorTarget
impl Debug for ErrorTarget
Source§impl Display for ErrorTarget
impl Display for ErrorTarget
Source§impl PartialEq for ErrorTarget
impl PartialEq for ErrorTarget
Source§fn eq(&self, other: &ErrorTarget) -> bool
fn eq(&self, other: &ErrorTarget) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ErrorTarget
Source§impl TASpecification for ErrorTarget
impl TASpecification for ErrorTarget
Source§fn locs_appearing(&self) -> impl IntoIterator<Item = &Location>
fn locs_appearing(&self) -> impl IntoIterator<Item = &Location>
Locations appearing in the temporal part of the target
Source§fn var_constraint(&self) -> impl IntoIterator<Item = &LIAVariableConstraint>
fn var_constraint(&self) -> impl IntoIterator<Item = &LIAVariableConstraint>
Variable constraints appearing in the temporal part of the target
Auto Trait Implementations§
impl Freeze for ErrorTarget
impl RefUnwindSafe for ErrorTarget
impl Send for ErrorTarget
impl Sync for ErrorTarget
impl Unpin for ErrorTarget
impl UnsafeUnpin for ErrorTarget
impl UnwindSafe for ErrorTarget
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more