EDBT 2026 Demo / reviewers in the wild / expert
Wlodzimierz Drabent
dblp:d/WDrabent · also Wlodek Drabent
· DBLP profile ↗
23ranked-venue papers
21as first author
6since 2021 · last 2025
0000-0002-4700-7272ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 14 first-author · 5 since 2021Theory of computation · 13 · 11 first-author · 3 since 2021Databases, data management, data science and information retrieval · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | On Systematic Construction of Correct Logic ProgramsabstractAbstract Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces all the answers required by the specifications. We also consider semi-completeness – completeness for those queries for which the program does not diverge. This paper presents an approach to systematically construct provably correct and semi-complete logic programs, for a given specification. Normal programs are considered, under Kunen’s 3-valued completion semantics (of negation as finite failure) and the well-founded semantics (of negation as possibly infinite failure). The approach is declarative, it abstracts from details of operational semantics, like, for example, the form of the selected literals (“procedure calls”) during the computation. The proposed method is simple and can be used (maybe informally) in actual everyday programming. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2023 | A relaxed condition for avoiding the occur-check
Wlodzimierz Drabent |
Theor. Comput. Sci. | 1 |
| 2023 | Implementing Backjumping by Means of Exception HandlingabstractAbstract We discuss how to implement backjumping (or intelligent backtracking) in Prolog by using the built-ins throw/1 and catch/3. We show that it is impossible in a general case, contrary to a claim that “backjumping is exception handling." We provide two solutions. One works for binary programs; in a general case it imposes a restriction on where backjumping may originate. The other restricts the class of backjump targets. We also discuss implementing backjumping by using backtracking and the Prolog database. Additionally, we explain the semantics of Prolog exception handling in the presence of coroutining. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2022 | On Correctness of Normal Logic Programs
Wlodzimierz Drabent |
LOPSTR | 1 |
| 2022 | On Correctness and Completeness of an n Queens ProgramabstractAbstract Thom Frühwirth presented a short, elegant, and efficient Prolog program for thenqueens problem. However, the program may be seen as rather tricky and one may not be convinced about its correctness. This paper explains the program in a declarative way and provides proofs of its correctness and completeness. The specification and the proofs are declarative, that is they abstract from any operational semantics. The specification is approximate, it is unnecessary to describe the program’s semantics exactly. Despite the program works on non-ground terms, this work employs the standard semantics, based on logical consequence and Herbrand interpretations. Another purpose of the paper is to present an example of precise declarative reasoning about the semantics of a logic program. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2021 | S-Semantics-an Example
Wlodzimierz Drabent |
LOPSTR | 1 |
| 2019 | The Prolog Debugger and Declarative Programming
Wlodzimierz Drabent |
LOPSTR | 1 |
| 2018 | Logic + control: On program construction and verificationabstractAbstract This paper presents an example of formal reasoning about the semantics of a Prolog program of practical importance (the SAT solver of Howe and King). The program is treated as a definite clause logic program with added control. The logic program is constructed by means of stepwise refinement, hand in hand with its correctness and completeness proofs. The proofs are declarative – they do not refer to any operational semantics. Each step of the logic program construction follows a systematic approach to constructing programs which are provably correct and complete. We also prove that correctness and completeness of the logic program is preserved in the final Prolog program. Additionally, we prove termination, occur-check freedom and non-floundering. Our example shows how dealing with “logic” and with “control” can be separated. Most of the proofs can be done at the “logic” level, abstracting from any operational semantics. The example employs approximate specifications; they are crucial in simplifying reasoning about logic programs. It also shows that the paradigm of semantics-preserving program transformations may be not sufficient. We suggest considering transformations which preserve correctness and completeness with respect to an approximate specification. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2017 | Proving completeness of logic programs with the cutabstractAbstract Completeness of a logic program means that the program produces all the answers required by its specification. The cut is an important construct of programming language Prolog. It prunes part of the search space, this may result in a loss of completeness. This paper proposes a way of proving completeness of programs with the cut. The semantics of the cut is formalized by describing how SLD-trees are pruned. A sufficient condition for completeness is presented, proved sound, and illustrated by examples. Wlodzimierz Drabent |
Formal Aspects Comput. | 1 |
| 2016 | Correctness and Completeness of Logic ProgramsabstractWe discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method that should be well known but is often neglected. Also, we show how to prove completeness and correctness in the presence of SLD-tree pruning, and point out that approximate specifications simplify specifications and proofs. We compare the proof methods to declarative diagnosis (algorithmic debugging), showing that approximate specifications eliminate a major drawback of the latter. We argue that our proof methods reflect natural declarative thinking about programs, and that they can be used, formally or informally, in everyday programming. Wlodzimierz Drabent |
ACM Trans. Comput. Log. | 1 |
| 2016 | On definite program answers and least Herbrand modelsabstractAbstract A sufficient and necessary condition is given under which least Herbrand models exactly characterize the answers of definite clause programs. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2014 | On Completeness of Logic Programs
Wlodzimierz Drabent |
LOPSTR | 1 |
| 2012 | A simple correctness proof for magic transformationabstractAbstract The paper presents a simple and concise proof of correctness of the magic transformation. We believe that it may provide a useful example of formal reasoning about logic programs. The correctness property concerns the declarative semantics. The proof, however, refers to the operational semantics (LD-resolution) of the source programs. Its conciseness is due to applying a suitable proof method. Wlodzimierz Drabent |
Theory Pract. Log. Program. | 1 |
| 2010 | Hybrid rules with well-founded semanticsabstractA general framework is proposed for integration of rules and external first-order theories. It is based on the well-founded semantics of normal logic programs and inspired by ideas of Constraint Logic Programming (CLP) and constructive negation for logic programs. Hybrid rules are normal clauses extended with constraints in the bodies; constraints are certain formulae in the language of the external theory. A hybrid program consists of a set of hybrid rules and an external theory. Instances of the framework are obtained by specifying the class of external theories and the class of constraints. An example instance is integration of (non-disjunctive) Datalog with ontologies formalized in description logics. The paper defines a declarative semantics of hybrid programs and a goal-driven formal operational semantics. The latter can be seen as a generalization of SLS-resolution. It provides a basis for hybrid implementations combining Prolog with constraint solvers (such as ontology reasoners). Soundness of the operational semantics is proven. Sufficient conditions for decidability of the declarative semantics and for completeness of the operational semantics are given. Wlodzimierz Drabent, Jan Maluszynski |
Knowl. Inf. Syst. | 1 |
| 2007 | Extending XML Query Language Xcerpt by Ontology QueriesabstractThe paper addresses a problem of combining XML querying with ontology reasoning. We present an extension of a rule-based XML query and transformation language Xcerpt. The extension allows to interface an ontology reasoner from Xcerpt programs. In this way querying can employ the ontology information, for instance to filter out semantically irrelevant answers. The approach employs an existing Xcerpt engine and ontology reasoner; no modifications are required. We present the semantics of extended Xcerpt and an implementation algorithm. Communication between Xcerpt programs and ontology reasoner is based on DIG interface. Wlodzimierz Drabent, Artur Wilk |
Web Intelligence | 1 |
| 2005 | Proving correctness and completeness of normal programs - a declarative approachabstractWe advocate a declarative approach to proving properties of logic programs. Total correctness can be separated into correctness, completeness and clean termination; the latter includes non-floundering. Only clean termination depends on the operational semantics, in particular on the selection rule. We show how to deal with correctness and completeness in a declarative way, treating programs only from the logical point of view. Specifications used in this approach are interpretations (or theories). We point out that specifications for correctness may differ from those for completeness, as usually there are answers which are neither considered erroneous nor required to be computed. We present proof methods for correctness and completeness for definite programs and generalize them to normal programs. For normal programs we use the 3-valued completion semantics; this is a standard semantics corresponding to negation as finite failure. The proof methods employ solely the classical 2-valued logic. We use a 2-valued characterization of the 3-valued completion semantics, which may be of separate interest. The method of proving correctness of definite programs is not new and can be traced back to the work of clark in 1979. However a more complicated approach using operational semantics was proposed by some authors. We show that it is not stronger than the declarative one, as far as properties of program answers are concerned. For a corresponding operational approach to normal programs, we show that it is (strictly) weaker than our method. We also employ the ideas of this work to generalize a known method of proving termination of normal programs. Wlodzimierz Drabent, Miroslawa Milkowska |
Theory Pract. Log. Program. | 1 |
| 2002 | Using parametric set constraints for locating errors in CLP programsabstractThis paper introduces a framework of parametric descriptive directional types for Constraint Logic Programming (CLP). It proposes a method for locating type errors in CLP programs, and presents a prototype debugging tool. The main technique used is checking correctness of programs w.r.t. type specifications. The approach is based on a generalization of known methods for proving the correctness of logic programs to the case of parametric specifications. Set constraint techniques are used for formulating and checking verification conditions for (parametric) polymorphic type specifications. The specifications are expressed in a parametric extension of the formalism of term grammars. The soundness of the method is proved, and the prototype debugging tool supporting the proposed approach is illustrated on examples. The paper is a substantial extension of the previous work by the same authors concerning monomorphic directional types. Wlodzimierz Drabent, Jan Maluszynski, Pawel Pietrzak |
Theory Pract. Log. Program. | 1 |
| 2001 | Proving Correctness and Completeness of Normal Programs - A Declarative Approach
Wlodzimierz Drabent, Miroslawa Milkowska |
ICLP | 1 |
| 1999 | It Is Declarative
Wlodzimierz Drabent |
ICLP | 1 |
| 1995 | What is Failure? An Approach to Constructive Negation
Wlodzimierz Drabent |
Acta Informatica | 1 |
| 1988 | Inductive Assertion Method for Logic Programs
Wlodzimierz Drabent, Jan Maluszynski |
Theor. Comput. Sci. | 1 |
| 1986 | Erratum: Proving Properties of Pascal Programs in MIZAR 2
Piotr Rudnicki, Wlodzimierz Drabent |
Acta Informatica | 2 |
| 1985 | Proving Properties of Pascal Programs in MIZAR 2
Piotr Rudnicki, Wlodzimierz Drabent |
Acta Informatica | 2 |