Invited Talks
50th Anniversary of the Birth of Prolog: Some reflections on Prolog's Evolution, Status, and Future
This year we celebrate Prolog's 50th anniversary, and the continued
relevance of Prolog and logic programming as a basis for both
higher-level programming and symbolic, explainable AI. This talk
will provide an overview of Prolog's evolution, status, and future.
It will start with a quick tour of the major milestones in the
advancement of the language and its implementations, from the
original Marseille and Edinburgh versions, to the many current ones,
with more appearing continuously. This will be followed by some
reflections on issues such as what still makes Prolog different and
relevant as a language and tool, the best approaches for teaching
Prolog, some landmark applications, relation to other logic
programming languages, or the use of Prolog and Prolog-related tools
for other programming languages. The talk will also attempt to
dispel along the way some common misconceptions about the language,
while discussing some past weaknesses and others that may still need
addressing. It will conclude with some reflections on challenges and
opportunities for the future.
Part of the contents of this talk appear in the recent TPLP paper "50
years of Prolog and Beyond", by Philipp Körner, Michael Leuschel, João
Barbosa, Vítor Santos Costa, Verónica Dahl, Manuel V. Hermenegildo,
Jose F. Morales, Jan Wielemaker, Daniel Diaz, Salvador Abreu, and
Giovanni Ciatto, written for Prolog's 50th anniversary and TPLP's 20th
anniversary. See prologyear.logicprogramming.org for pointers to this
paper and other initiatives related to the Year of Prolog. The Year of
Prolog is organized by the Association for Logic Programming and the
Prolog Heritage foundation.
Probabilistic Logic Programming: Semantics, Inference and Learning
Probabilistic Logic Programming is now more than 30 years old and has become an active field of research at the intersection of Logic Programming and Uncertainty in AI. Among the various semantics, the Distribution Semantics (DS) has emerged as one of the most intuitive and versatile. The talk will introduce the DS and its various extensions to deal with function symbols, continuous random variables and multiple stable models. Computing the probability of queries is the task of inference, which can be solved either by exact or approximate algorithms. Exact inference is usually performed by means of knowledge compilation while approximate inference by means of Monte Carlo. Inference is at the basis of learning programs from data that has recently received much attention. The talk will provide an overview of algorithms for learning the parameters and for learning the structure of programs, discussing the various Inductive Logic Programming techniques that have been adopted and the various tradeoffs between quality of the model and speed of learning.
Two Languages, One System: Tightly Connecting XSB Prolog and Python
Python, ranked first on the May 2022 Tiobe index, is a hugely popular language, heavily used in machine learning and other applications. Prolog, ranked twenty-firstthe May 2022 Tiobe index, while less popular has important reasoning and knowledge representation capabilities, particularly since modern Prologs support constraint-based reasoning, tabling-based deduction, and probabilistic inference. Despite their differences, Prolog and Python share important commonalities. First,both Prolog and CPython (the standard Python implementation) are written in C withwell-developed interfaces to other C programs. In addition, both languages are dynam-ically typed with data structures that are recursively generated in just a few ways. Infact, nearly all core data structures of the two languages can be efficiently bi-translated, leading to a tight connection of the two systems. This talk presents the design, experi-ence, and implications of such a connection using XSB Prolog version 5.0. The connection for XSB to call Python has led to XSB orchestrating commercial projects using interfaces to Elastic search, dense vector storage, nlp systems, Google maps, and to a 14.6 billion triple Wikidata graph. The connection for Python to call XSB allows XSBto be imported as any other Python module so that XSB can easily be invoked fromJupyter notebooks or other graphical interfaces. On a more speculative level, the talk mentions how this work might be leveraged for research in neuro-symbolic learning, natural language processing and cross-language type inference.
A Tentative Test of Time Analysis
The presentation first recalls the main traits of Xcerpt, a language for querying semi-structured data, and simulation unification which is a central concept of Xcerpt. Xcerpt is a declarative language inspired from logic programming but departing from logic programming in the use of simulation unification instead of (standard) unification. Xcerpt’s non-standard unification enables queries which are patterns resembling answers like queries in logic programming languages and knowledge graph query languages like SPARQL, Cypher and PathQuery1but unlike queries in SQL, XSLT and XQuery.
The presentation submits two arguments in favor of “pattern queries” instead of the “selector queries” of XSLT and XQuery: Economy of concepts and redundancy avoidance. The presentation also submits hypotheses why the impact of Xcerpt and simulation unification so far has been limited to a small academic community. Finally, the presentation sketches a few non-standard unifications the use of which would enable useful queries: “Similarity unification” inspired from E-unification and “cost-based unifications”.
From "ASP modulo CSP" to "ASP modulo X", or how clingcon paved the way for clingo[X] systems
Clingcon extends the ASP system Clingo with linear constraints over integers. As such, its series of variants served as a consecutive design study on how to extend ASP systems with foreign inferences. Meanwhile this has culminated in the generic theory reasoning framework of the ASP system clingo. We will sketch the evolution of this technology, look at its current state, and emphasis the role of semantics in view of a successful outcome.