Fourteenth Annual IEEE Symposium on

Logic in Computer Science (LICS 1999)

Paper: Logics with Aggregate Operators (at LICS 1999)

Authors: Lauri Hella Leonid Libkin Juha Nurmonen Limsoon Wong

Abstract

We study adding aggregate operators, such as summing up elements of a column of a relation, to logics with counting mechanisms. The primary motivation comes from database applications, where aggregate operators are present in all real life query languages. Unlike other features of query languages, aggregates are not adequately captured by the existing logical formalisms. Consequently, all previous approaches to analyzing the expressive power of aggregation were only capable of producing partial results, depending on the allowed class of aggregate and arithmetic operations.We consider a powerful counting logic, and extend it with the set of all aggregate operators. We show that the resulting logic satisfies analogs of Hanf's and Gaifman's theorems, meaning that it can only express local properties. We consider a database query language that expresses all the standard aggregates found in commercial query languages, and show how it can be translated into the aggregate logic, thereby providing a number of expressivity bounds, that do not depend on a particular class of arithmetic functions, and that subsume all those previously known. We consider a restricted aggregate logic that gives us a tighter capture of database languages, and also use it to show that some questions on expressivity of aggregation cannot be answered without resolving some deep problems in complexity theory.

BibTeX

  @InProceedings{HellaLibkinNurmonen-LogicswithAggregate,
    author = 	 {Lauri Hella and Leonid Libkin and Juha Nurmonen and Limsoon Wong},
    title = 	 {Logics with Aggregate Operators},
    booktitle =  {Proceedings of the Fourteenth Annual IEEE Symp. on Logic in Computer Science, {LICS} 1999},
    year =	 1999,
    editor =	 {Giuseppe Longo},
    month =	 {July}, 
    pages =      {35--44},
    location =   {Trento, Italy}, 
    publisher =	 {IEEE Computer Society Press}
  }