Patent ID: 8627282

Claim:
One or more tangible non-transitory computer-readable storage media for storing computer-executable instructions executable by processing logic, the media storing one or more instructions for: constructing semilattices S 1 and S 2 in a programming environment by a computer, where S 1 has bottom element denoted ⊥ 1 ; determining a set S 0 of elements constructed from sets of elements associated with the semilattices S 1 and S 2 in the programming environment by the computer; determining a partial ordering, denoted , on elements of the set S 0 in the programming environment by the computer; determining a greatest lower bound operation, denoted , on the set S 0 , consistent with , in the programming environment by the computer; determining a map, denoted ←, taking as arguments an element of the semilattice S 1 other than ⊥ 1 and an element of the semilattice S 2 , and yielding an element of S 0 , in the programming environment by the computer, where ← is anti-isotonic on the element of S 1 and isotonic on the element of S 2 , an effect of ← on s 1 an element of S 1 and s 2 an element of S 2 denoted by s 2 ←s 1 ; determining, in the programming environment by the computer, a function semilattice S over the semilattices S 1 and S 2 , where S comprises the function ← from S 1 ×S 2 to S 0 and a semilattice with constituents S 0 , , and ; and constructing a representation for elements of the function semilattice S over the semilattices S 1 and S 2 , each element s of S including a set of pairs {<s i2 ,s i1 >} i=1, . . . , k , k being the size of element s and each s ij being an element of S j for i=1, . . . , k and j=1 or 2, the set of pairs being in a function semilattice canonical form.