Negation

A step which is the negation of another step is matched by any message which does not match the negated step.

Negations are written with the prefix symbol ~! (or the constructor Not).

For instance, the following step will be matched by any preendorsement and endorsement, and by any proposal of someone other than b1.

#![allow(unused)]
fn main() {
~! propose b1 __ __ __ [__]
}