pub struct TempPred<T> {
pub pred: FnSpec<(Execution<T>,), bool>,
}Fields§
§pred: FnSpec<(Execution<T>,), bool>Implementations§
Source§impl<T> TempPred<T>
impl<T> TempPred<T>
Sourcepub open spec fn satisfied_by(self, execution: Execution<T>) -> bool
pub open spec fn satisfied_by(self, execution: Execution<T>) -> bool
{ (self.pred)(execution) }Sourcepub open spec fn and(self, other: Self) -> Self
pub open spec fn and(self, other: Self) -> Self
{ TempPred::new(|ex: Execution<T>| self.satisfied_by(ex) && other.satisfied_by(ex)) }/\ for temporal predicates in TLA+ (i.e., && in Verus).
Sourcepub open spec fn or(self, other: Self) -> Self
pub open spec fn or(self, other: Self) -> Self
{ TempPred::new(|ex: Execution<T>| self.satisfied_by(ex) || other.satisfied_by(ex)) }\/ for temporal predicates in TLA+ (i.e., || in Verus).
Sourcepub open spec fn implies(self, other: Self) -> Self
pub open spec fn implies(self, other: Self) -> Self
{ TempPred::new(|ex: Execution<T>| self.satisfied_by(ex) ==> other.satisfied_by(ex)) }Auto Trait Implementations§
impl<T> Freeze for TempPred<T>
impl<T> RefUnwindSafe for TempPred<T>where
T: RefUnwindSafe,
impl<T> Send for TempPred<T>where
T: Send,
impl<T> Sync for TempPred<T>where
T: Sync,
impl<T> Unpin for TempPred<T>where
T: Unpin,
impl<T> UnwindSafe for TempPred<T>where
T: UnwindSafe,
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