Bilattices, due to M. Ginsberg, are a family of truth-value spaces that allow elegantly for missing or conflicting information. The simplest example is Belnap's four-valued logic, based on classical two-valued logic. Among other examples are those based on finite many-valued logics and on probabilistic-valued logic. A fixed-point semantics is developed for logic programming, allowing any bilattice as the space of truth values. The mathematics is little more complex than in the classical two-valued setting, but the result provides a natural semantics for distributed logic programs, including those involving confidence factors. The classical two-valued and the Kripke-Kleene three-valued semantics become special cases, since the logics involved are natural sublogics of Belnap's logic, the logic given by the simplest bilattice. © 1991.
Fitting, M. (1991). Bilattices and the semantics of logic programming. The Journal of Logic Programming, 11(2), 91–116. https://doi.org/10.1016/0743-1066(91)90014-G