
On Sun, 22 Apr 2007 12:31:44 +0200, Larry Evans <cppljevans@cox-internet.com> wrote:
Actually, I think and_ and or_ are the meet and join of a lattice:
http://en.wikipedia.org/wiki/Lattice_%28order%29
where:
proto::_ is the top element proto::not_<proto::_> is the bottom element
However, I'm not sure about this since I don't know if the and_ and or_ operations are associative and commutative, which is one of the requirements for a lattic (I think).
Well, the last word is up to the author's library, however I'd be surprised if the following relations were not valid: associativity: or_< T1, or_<T2, T3> > == or_< T1, T2, T3 > == or_< or_<T1, T2,>, T3 > and_< T1, and_<T2, T3> > == and_< T1, T2, T3 > == and_< and_<T1, T2,>, T3 > commutativity: or_< T, U > == or_< U, T > and_< T, U > == and_< U, T > absorption: or_< T, and_<T, U> > == T and_< T, or_<T, U> > == T obviously where "==" means logical equivalence not C++ data type equality. Distibutivity shuold hold, too. Marco -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/