Summer School on Logic Programming

Students and researchers interested in topics in logic programming are invited to attend the 2023 Summer School on Logic Programming. It will take place on July 10, 2023, during the 39th International Conference on Logic Programming (July 9 - 15, 2023, Imperial College London, UK).

The school is suited for those who wish to learn advanced topics in logic programming and will consist of four tutorials.

Schedule

Speakers

Vladimir Lifschitz
Fine Points of Answer Set Programming

Practitioners of answer set programming know that the answer sets of a program may change after a seemingly innocuous simplification, and that an apparently trivial modification can make a rule unsafe.  In such cases, the question arises: is this a bug or a feature? There is no need to address this question to the designers of the solver, because the concept of an answer set has a mathematically precise definition, and the correctness of the answers produced by a solver can be determined by reasoning.  This tutorial is a gentle introduction to the mathematical theory of answer sets.  We will see that this theory is related to the body of work in foundations of mathematics that is much older than logic programming—to research on intuitionistic logic.  We will talk also about the ways in which this theory helps us understand functionality of answer set solvers.

Theresa Swift
New Directions in Prolog Programming

Since Prolog's inception fifty years ago, it has proven an enduring language that continues to be ranked in the top twenty most popular programming languages.  Much of the reason for Prolog's endurance is its core functionality, which was codified in the 1995 ISO Prolog standard, and which forms the common basis of around a dozen contemporary Prologs.  However, modern Prologs offer extensions that gofar beyond ISO Prolog. These include support for efficient constraint-based reasoning, the use of tabling to extend the semantics of Prolog and improve its execution efficiency, efficient parallel multi-threading, powerful and integrated program analysis, object-orientation, and probabilistic reasoning.

After reviewing the basics of ISO Prolog, this tutorial will present major extensions to Prolog since its ISO standards, with particular emphasis on working code examples. and on how these extensions give Prolog advantages in solving practical problems.  Finally, some of the research and implementational challenges facing Prologs will be discussed.

Konstantin Schekotihin & Alice Tarzariol
Industrial Applications of Logic Programming

Various industrial applications, such as scheduling, planning, or configuration, require a timely computation of solutions to complex combinatorial problems. Declarative specifications of these problems in combination with automated problem-solving can substantially decrease the development and maintenance costs of deployed applications. Modern knowledge representation and reasoning frameworks like Prolog or Answer Set Programming offer rich modeling languages and high-performance solvers that proved their efficiency in multiple use cases. In this session, we provide an overview of the latest industrial applications of logic programming approaches. The considered examples are also used to outline the development process of industrial applications and provide guidelines for the design of problem encodings in industrial settings. Finally, we discuss recent developments in automated tools providing significant runtime improvements from both the solving perspective, like portfolio solvers, to encoding enhancements with machine learning.

Marina De Vos
Answer Set Programming in Normative Systems: Modelling, Verification and Adaptation of Normative Behaviour

Norms, policies, and laws are essential for regulating the behaviour of actors in various domains, such as law, business, and software engineering. These rules describe the desired behaviour of actors and specify the rewards or penalties for compliance or violation. Normative systems are a type of multi-agent system that incorporates these rules to govern the behaviour of agents. In such systems, agents have autonomy and can decide whether to adhere to the norms or deviate from them.

Answer set programming is a powerful technique for modelling, verifying, monitoring, and revising such norms.

This tutorial will explore how to use answer set programming to specify and enforce norms in normative systems. We will cover both design-time techniques for specification and debugging, as well as run-time techniques for monitoring, enforcement, and adaptation. We will also showcase case studies in law and business process modelling to illustrate more concrete applications of this approach.

By the end of the tutorial, attendees will have a deeper understanding of how to use ASP to design and deploy robust normative systems that can adapt to changing environments.