Adding For-Loops to First-Order Logic
We study the query language BQL: the extension of the relational algebra with for-loops. We also study FO(FOR): the extension of first-order logic with a for-loop variant of the partial fixpoint operator. In contrast to the known situation with query languages which include while-loops instead of for-loops, BQL and FO(FOR) are not equivalent. Among the topics we investigate are: the precise relationship between BQL and FO(FOR); inflationary versus non-inflationary iteration; the relationship with logics that have the ability to count; and nested versus unnested loops.
KeywordsQuery Language Expressive Power Relational Algebra Winning Strategy Modular Equation
Unable to display preview. Download preview PDF.
- AHV95.S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-Wesley, 1995.Google Scholar
- Cha81.A. Chandra. Programming primitives for database languages. In Conference Record, 8th ACM Symposium on Principles of Programming Languages, pages 50–62 1981.Google Scholar
- Cha88.A. Chandra. Theory of database queries. In Proceedings of the Seventh ACM Symposium on Principles of Database Systems, pages 1–9. ACM Press, 1988.Google Scholar
- EF95.H.-D. Ebbinghaus and J. Flum. Finite Model Theory. Springer, 1995.Google Scholar
- EFT94.H.-D. Ebbinghaus, J. Flum, and W. Thomas. Mathematical Logic. Undergraduate Texts in Mathematics. Springer-Verlag, second edition 1994.Google Scholar
- GO93.E. Grädel and M. Otto. Inductive definability with counting on finite structures. In E. Börger, editor, Computer Science Logic, volume 702 of Lecture Notes in Computer Science, pages 231–247. Springer-Verlag, 1993.Google Scholar