The least common ancestor of two vertices, denoted \(\text{lca}(x, y)\), is a well-defined operation in a directed acyclic graph (dag) \(G\). We introduce \(U_\text{lca}(S)\), a natural extension of \(\text{lca}(x,y)\) for any set \(S\) of vertices. Given such a set \(S_0\), one can iterate \(S_{k+1} = U_\text{lca}(S_k)\) in order to obtain an increasing set sequence. \(G\) being finite, this sequence always has a limit which defines a closure operator. Two equivalent definitions of this operator are given and their relationships with abstract convexity are shown. The good properties of this operator permit to conceive an \(O(n.m)\) time complexity algorithm to calculate its closure. This performance is crucial in applications where dags of thousands of vertices are employed. Two examples are given in the domain of life-science: the first one concerns genes annotations’ understanding by restricting Gene Ontology, the second one deals with identifying taxonomic group of environmental \(DNA\) sequences.
1970-2025 CP (Manitoba, Canada) unless otherwise stated.