1989/01/01 by Hassan Aït-Kaci, Hassan Aı̈t-Kaci, Robert Boyer +3 · 2 citations
Computer Science · Mathematics · #Advanced Database Systems and Queries #Algorithm #Algorithms and Data Compression #Arithmetic #Binary number #Computer science #Concurrency #Decoding methods #Discrete mathematics #Lattice (music) #Logic, programming, and type systems #Mathematics #Programming language #Theoretical computer science #Transitive closure #Upper and lower bounds
paper · pdf · doi:10.1145/59287.59293
openalex publication_date 1989/01/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/29
Lattice operations such as greatest lower bound (GLB), least upper bound (LUB), and relative complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding is to plunge the given ordering into a boolean lattice of binary words, leading to an almost constant time complexity of the lattice operations. A first method is described based on a transitive closure approach. Then a more space-efficient method minimizing code-word length is described. Finally a powerful grouping technique called modulation is presented, which drastically reduces code space while keeping all three lattice operations highly efficient. This technique takes into account idiosyncrasies of the topology of the poset being encoded that are quite likely to occur in practice. All methods are formally justified. We see this work as an original contribution towards using semantic (vz., in this case, taxonomic) information in the engineering pragmatics of storage and retrieval of (vz., partially or quasi-ordered) information.