pub struct ErrorAtom {
init_restriction: InitRestriction,
target: ErrorTarget,
}Expand description
Specification that can be checked in a single model checker run
An atom is of the form init && target, where init restricts the initial
configuration (and parameters) of the runs to consider and target is the
temporal part of the specification.
Fields§
§init_restriction: InitRestrictionRestriction on the initial configuration
target: ErrorTargetTemporal part of the atom
Implementations§
Source§impl ErrorAtom
impl ErrorAtom
Sourcefn try_and(self, other: Self) -> Result<Self, ExtractionError>
fn try_and(self, other: Self) -> Result<Self, ExtractionError>
Conjunction of two atoms that are the operands of one &&
Create conjunction of initial constraints and check whether targets can
be unified with ErrorTarget::try_unify_and.
Otherwise throws ExtractionError::UnsupportedConjunction
Sourcefn try_unify_or(&self, other: &Self) -> Option<Self>
fn try_unify_or(&self, other: &Self) -> Option<Self>
Disjunction of two atoms if a sound merge exists
Source§impl ErrorAtom
impl ErrorAtom
Sourcepub fn new(init_restriction: InitRestriction, target: ErrorTarget) -> Self
pub fn new(init_restriction: InitRestriction, target: ErrorTarget) -> Self
Create a new atom
Sourcepub fn init_restriction(&self) -> &InitRestriction
pub fn init_restriction(&self) -> &InitRestriction
Get the restriction on the initial configuration
Sourcepub fn target(&self) -> &ErrorTarget
pub fn target(&self) -> &ErrorTarget
Get the temporal part of the atom
Sourcefn targets(&self) -> impl Iterator<Item = &UpwardsClosedSet>
fn targets(&self) -> impl Iterator<Item = &UpwardsClosedSet>
The upwards closed sets appearing in the temporal part of this atom
Trait Implementations§
impl StructuralPartialEq for ErrorAtom
Source§impl TASpecification for ErrorAtom
impl TASpecification for ErrorAtom
Source§fn locs_appearing(&self) -> impl IntoIterator<Item = &Location>
fn locs_appearing(&self) -> impl IntoIterator<Item = &Location>
Get the locations that appear in the specification Read more
Source§fn var_constraint(&self) -> impl IntoIterator<Item = &LIAVariableConstraint>
fn var_constraint(&self) -> impl IntoIterator<Item = &LIAVariableConstraint>
Get the variable constraints that appear in target Read more
Auto Trait Implementations§
impl Freeze for ErrorAtom
impl RefUnwindSafe for ErrorAtom
impl Send for ErrorAtom
impl Sync for ErrorAtom
impl Unpin for ErrorAtom
impl UnsafeUnpin for ErrorAtom
impl UnwindSafe for ErrorAtom
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<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>
Converts
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>
Converts
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