Logic is fundamental to computer science. Since the development of logic programming in the 1960s, logic has seen a growing practical role in computer science. The purpose of this workshop is to be a bridge between different areas of computer science that use logic as a practical tool. We take advantage of the common language of formal logic to exchange ideas between these different areas. We encourage submissions from all areas of computer science that use formal logic. Your submission could explain how logic is used practically in your area, what are its successes and what are the challenges for the future. Your submission should be written to be understandable to anyone who understands formal logic. Concepts specific to your area should be defined in the paper. In this way, we aim to improve the practical use of logic in each area by transferring ideas and techniques between the areas.
SPLASH has a long history of supporting workshops in many different areas of computer science. We mention just a few: generative programming, language engineering, managed runtimes, incremental computing, virtual machines, reactive languages, live programming, spatio-temporal knowledge bases, and AI-inspired methods for parallel computing. All of these areas use logic as part of their problem-solving arsenal, to help formulate and solve the problems specific to the area. Many use practical tools based on logic, such as SAT solvers, proof assistants, specification languages, logic programming, deductive databases, constraint solvers, and model checkers. The purpose of LPOP 2020 is to encourage cross-fertilization between these areas using the common language of logic and its practical applications.
LPOP 2020 is a followup to the successful LPOP workshop held as part of the Federated Logic Conference in Oxford, UK in 2018. The earlier workshop focused on the integration of logic programming with imperative programming, to improve the practice of programming with logic. LPOP 2020 broadens this goal to focus on the practical use of logic as a crosscutting discipline across many areas of computer science. We hope to create synergies in these areas and help them progress faster by taking advantage of good ideas developed in other areas. This will also improve the general practice of programming with logic.
Call for Participation
(General description as above, plus specific instructions below)
The goal of the workshop is to bring together the best people and best languages, tools, and ideas to help improve logic languages for the practice of programming and improve the practice of programming with logic and declarative programming. We plan to organize the workshop around a number of “challenge problems”, including in particular expressing a set of system components and functionalities clearly and precisely using a chosen description language. There will also be invited talks by the proponents of some well-known description methods. We will aim to group presentations of description methods by the kind of problems that they address, and to allow ample time to understand the strengths of the various approaches and how they might be combined.
Potential participants are invited to submit a position paper (1 or 2 pages in PDF format), and also to state whether they wish to present a talk at the workshop, explaining how they would express the challenge problems. Because we intend to bring together researchers from many parts of logic and declarative languages and practice of programming communities, it is essential that all talks be accessible to non-specialists. Instructions for preparing a position paper can be found here; follow this link for electronic submission.
The program committee will invite attendees based on the position paper submissions and will attempt to accommodate presentation requests, but in ways that fit with the broader organizational goals outlined above.