Expand description
Types for reasoning about algebraic properties for Rust closures.
Macros§
- manual_
proof - Fulfills a proof parameter by declaring a human-written justification for why the algebraic property (e.g. commutativity, idempotence) holds.
- verus_
proof_ commutative_ effect - Fulfills a
commutative = ...proof parameter for a unit-returning, effectful closure (shape|item| -> (), e.g. forfor_eachorinspect) that mutates a captured singleton reference (fromSingleton::by_mut), with a Verus-checked proof of commutativity of the captured-state update. - verus_
proof_ commutative_ filter - Fulfills a
commutative = ...proof parameter for a filter predicate (shape|item| -> boolwhereitemis received by reference) that may mutate a captured singleton reference (fromSingleton::by_mut), with a Verus-checked proof of commutativity. - verus_
proof_ commutative_ fold - Fulfills a
commutative = ...proof parameter for an aggregation closure (fold/reduce, shape|acc, item|withacc: &mut A) with a Verus-checked proof of commutativity. - verus_
proof_ commutative_ map - Fulfills a
commutative = ...proof parameter for a map-like closure (shape|item| -> out, e.g. formap) that may mutate a captured singleton reference (fromSingleton::by_mut), with a Verus-checked proof of commutativity.
Structs§
- AggFunc
Algebra - Algebraic properties for an aggregation function of type (T, &mut A) -> ().
- Manual
Proof - A hand-written human proof of the correctness property.
- Singleton
MapFunc Algebra - Algebraic properties for a singleton map function of type T -> U.
- Stream
MapFunc Algebra - Algebraic properties for a stream map function of type T -> U.
- Verus
Commutative Proof - A machine-checked proof of commutativity, verified by Verus.
Enums§
Traits§
- Apply
Monotone Keyed Stream - Marker trait identifying the boundedness of a singleton given a monotonicity property of an aggregation on a keyed stream.
- Apply
Monotone Stream - Marker trait identifying the boundedness of a singleton given a monotonicity property of an aggregation on a stream.
- Apply
Order Preserving Singleton - Marker trait identifying the boundedness of a singleton after a map operation, given an order-preserving property.
- Commutative
Proof - A trait for proof mechanisms that can validate commutativity.
- Consistency
Proof - A trait for proof mechanisms that can validate consistency of a collection.
- Idempotent
Proof - A trait for proof mechanisms that can validate idempotence.
- Monotone
Proof - A trait for proof mechanisms that can validate monotonicity.
- Order
Preserving Proof - A trait for proof mechanisms that can validate order-preservation (monotonicity of a map function).
- Valid
Commutativity For - Marker trait identifying that the commutativity property is valid for the given stream ordering.
- Valid
Idempotence For - Marker trait identifying that the idempotence property is valid for the given stream ordering.
- Valid
MutBorrow Commutativity For - Marker trait for commutativity of closures that borrow their input (
FnMut(&In) -> Out). - Valid
MutBorrow Idempotence For - Marker trait for idempotence of closures that borrow their input (
FnMut(&In) -> Out). - Valid
MutCommutativity For - Marker trait identifying that the commutativity property is valid for the given stream ordering.
- Valid
MutIdempotence For - Marker trait identifying that the idempotence property is valid for the given stream ordering.