pub struct Not<F> { /* private fields */ }Expand description
First-order operator that inverts its subformula, written !, or not.
The Not operator is a unary operator, which means that it operates on a single subformula.
This operator evaluates a given trace using its subformula, then for each time in the resulting
trace negates the state. For floating point numbers, this would look as follows:
| time | subformula | not |
|---|---|---|
| 0.0 | 1.0 | -1.0 |
| 1.0 | 3.0 | -3.0 |
| 1.0 | -2.0 | 2.0 |
The following is an example of creating a formula using the not operator:
use banquo::predicate;
use banquo::operators::Not;
let subformula = predicate!{ x * 1.0 <= 1.0 };
let formula = Not::new(subformula);Implementations§
Trait Implementations§
Source§impl<T, F, M> Formula<T> for Not<F>
impl<T, F, M> Formula<T> for Not<F>
impl<F> StructuralPartialEq for Not<F>
Auto Trait Implementations§
impl<F> Freeze for Not<F>where
F: Freeze,
impl<F> RefUnwindSafe for Not<F>where
F: RefUnwindSafe,
impl<F> Send for Not<F>where
F: Send,
impl<F> Sync for Not<F>where
F: Sync,
impl<F> Unpin for Not<F>where
F: Unpin,
impl<F> UnwindSafe for Not<F>where
F: 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