Skip to main content Accessibility help

The Expressive Power of Higher-Order Datalog



A classical result in descriptive complexity theory states that Datalog expresses exactly the class of polynomially computable queries on ordered databases (Papadimitriou 1985; Grädel 1992; Vardi 1982; Immerman 1986; Leivant 1989). In this paper we extend this result to the case of higher-order Datalog. In particular, we demonstrate that on ordered databases, for all k ≥ 2, k-order Datalog captures (k − 1)-EXPTIME. This result suggests that higher-order extensions of Datalog possess superior expressive power and they are worthwhile of further investigation both in theory and in practice.



Hide All
Bezem, M. 1999. Extensionality of simply typed logic programs. In Logic Programming: The 1999 International Conference, Las Cruces, New Mexico, USA, November 29 - December 4, 1999, Schreye, D. D., Ed. MIT Press, 395410.
Charalambidis, A., Handjopoulos, K., Rondogiannis, P., and Wadge, W. W. 2013. Extensional higher-order logic programming. ACM Trans. on Computational Logic 14, 3, 21.
Charalambidis, A., Rondogiannis, P., and Symeonidou, I. 2018. Approximation fixpoint theory and the well-founded semantics of higher-order logic programs. TPLP 18, 3-4, 421437.
Charalambidis, A., Rondogiannis, P., and Troumpoukis, A. 2018. Higher-order logic programming: An expressive language for representing qualitative preferences. Science of Computer Programming 155, 173197.
Chen, W., Kifer, M., and Warren, D. S. 1993. HILOG: A foundation for higher-order logic programming. Journal of Logic Programming 15, 3, 187230.
Dantsin, E., Eiter, T., Gottlob, G., and Voronkov, A. 2001. Complexity and expressive power of logic programming. ACM Computing Surveys 33, 3, 374425.
Grädel, E. 1992. Capturing complexity classes by fragments of second-order logic. Theoretical Computer Science 101, 1, 3557.
Immerman, N. 1986. Relational queries computable in polynomial time. Information and Control 68, 1-3, 86104.
Jones, N. D. 2001. The expressive power of higher-order types or, life without CONS. Journal of Functional Programming 11, 1, 594.
Kountouriotis, V., Rondogiannis, P., and Wadge, W. W. 2005. Extensional higher-order datalog. In Short Paper Proceedings of the 12th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR). 15.
Leivant, D. 1989. Descriptive characterizations of computational complexity. Journal of Computer and System Science 39, 1, 5183.
Lloyd, J. W. 1987. Foundations of Logic Programming. Springer Verlag.
Lovrenčić, A. and Čubrilo, M. 1999. Amalgamation of heterogeneous data sources using amalgamated annotated hilog. In 3rd international IEEE Conference on Intelligent Engineering Systems (INES’99).
Miller, D. and Nadathur, G. 1986. Higher-order logic programming. In Proceedings of the Third International Conference on Logic Programming (ICLP). 448462.
Papadimitriou, C. H. 1985. A note on the expressive power of prolog. Bulletin of the EATCS 26, 2122.
Vardi, M. Y. 1982. The complexity of relational query languages (extended abstract). In Proceedings of the 14th Annual ACM Symposium on Theory of Computing, May 5-7, 1982, San Francisco, California, USA. ACM, 137146.
Wadge, W. W. 1991. Higher-order horn logic programming. In Logic Programming, Proceedings of the 1991 International Symposium, San Diego, California, USA, Oct. 28 - Nov 1, 1991. MIT Press, 289303.
Yang, G., Kifer, M., and Zhao, C. 2003. Flora-2: A rule-based knowledge representation and inference infrastructure for the semantic web. In OTM Confederated International Conferences “On the Move to Meaningful Internet Systems”. Vol. 2888. Springer, 671688.


Related content

Powered by UNSILO
Type Description Title
Supplementary materials

Charalambidis et al. supplementary material
Online Appendix

 PDF (302 KB)
302 KB

The Expressive Power of Higher-Order Datalog



Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.