pub trait Logic {
    fn top() -> Self;
fn bottom() -> Self;
fn and(self, other: Self) -> Self;
fn or(self, other: Self) -> Self;
fn not(self) -> Self; }
Expand description

A propositional logic used to evaluate Expression instances.

An Expression consists of some predicates and the any, all and not operators. An implementation of Logic defines how the any, all and not operators should be evaluated.

Required methods

The result of an all operation with no operands, akin to Boolean true.

The result of an any operation with no operands, akin to Boolean false.

AND, which corresponds to the all operator.

OR, which corresponds to the any operator.

NOT, which corresponds to the not operator.

Implementations on Foreign Types

A boolean logic.

A three-valued logic – None stands for the value being unknown.

The truth tables for this logic are described on Wikipedia.

Implementors