Three-valued logics

ptal on Travis CI

This library provides the strong Kleene's three-valued logic which contains the boolean values true and false and an additional unknown variant. The semantics of unknown usually means that the current value is neither true or false yet, but might evolve to one or the other later. In particular, we have false && unknown equals to true, although the second value is unknown, we can evaluate the full expression.

Truth tables are available in the documentation.

This library compiles on stable Rust.

License

Licensed under either of * Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

References

M. Fitting, “Kleene’s three valued logics and their children,” Fundamenta informaticae, vol. 20, no. 1, 2, 3, pp. 113–131, 1994.