3,300 research outputs found
Efficient Groundness Analysis in Prolog
Boolean functions can be used to express the groundness of, and trace
grounding dependencies between, program variables in (constraint) logic
programs. In this paper, a variety of issues pertaining to the efficient Prolog
implementation of groundness analysis are investigated, focusing on the domain
of definite Boolean functions, Def. The systematic design of the representation
of an abstract domain is discussed in relation to its impact on the algorithmic
complexity of the domain operations; the most frequently called operations
should be the most lightweight. This methodology is applied to Def, resulting
in a new representation, together with new algorithms for its domain operations
utilising previously unexploited properties of Def -- for instance,
quadratic-time entailment checking. The iteration strategy driving the analysis
is also discussed and a simple, but very effective, optimisation of induced
magic is described. The analysis can be implemented straightforwardly in Prolog
and the use of a non-ground representation results in an efficient, scalable
tool which does not require widening to be invoked, even on the largest
benchmarks. An extensive experimental evaluation is givenComment: 31 pages To appear in Theory and Practice of Logic Programmin
Bayesian Logic Programs
Bayesian networks provide an elegant formalism for representing and reasoning
about uncertainty using probability theory. Theyare a probabilistic extension
of propositional logic and, hence, inherit some of the limitations of
propositional logic, such as the difficulties to represent objects and
relations. We introduce a generalization of Bayesian networks, called Bayesian
logic programs, to overcome these limitations. In order to represent objects
and relations it combines Bayesian networks with definite clause logic by
establishing a one-to-one mapping between ground atoms and random variables. We
show that Bayesian logic programs combine the advantages of both definite
clause logic and Bayesian networks. This includes the separation of
quantitative and qualitative aspects of the model. Furthermore, Bayesian logic
programs generalize both Bayesian networks as well as logic programs. So, many
ideas developedComment: 52 page
HoCHC: A Refutationally Complete and Semantically Invariant System of Higher-order Logic Modulo Theories
We present a simple resolution proof system for higher-order constrained Horn
clauses (HoCHC) - a system of higher-order logic modulo theories - and prove
its soundness and refutational completeness w.r.t. the standard semantics. As
corollaries, we obtain the compactness theorem and semi-decidability of HoCHC
for semi-decidable background theories, and we prove that HoCHC satisfies a
canonical model property. Moreover a variant of the well-known translation from
higher-order to 1st-order logic is shown to be sound and complete for HoCHC in
standard semantics. We illustrate how to transfer decidability results for
(fragments of) 1st-order logic modulo theories to our higher-order setting,
using as example the Bernays-Schonfinkel-Ramsey fragment of HoCHC modulo a
restricted form of Linear Integer Arithmetic
Categorical Modelling of Logic Programming: Coalgebra, Functorial Semantics, String Diagrams
Logic programming (LP) is driven by the idea that logic subsumes computation. Over the
past 50 years, along with the emergence of numerous logic systems, LP has also grown into a
large family, the members of which are designed to deal with various computation scenarios.
Among them, we focus on two of the most influential quantitative variants are probabilistic
logic programming (PLP) and weighted logic programming (WLP).
In this thesis, we investigate a uniform understanding of logic programming and its quan-
titative variants from the perspective of category theory. In particular, we explore both a
coalgebraic and an algebraic understanding of LP, PLP and WLP.
On the coalgebraic side, we propose a goal-directed strategy for calculating the probabilities
and weights of atoms in PLP and WLP programs, respectively. We then develop a coalgebraic
semantics for PLP and WLP, built on existing coalgebraic semantics for LP. By choosing
the appropriate functors representing probabilistic and weighted computation, such coalgeraic
semantics characterise exactly the goal-directed behaviour of PLP and WLP programs.
On the algebraic side, we define a functorial semantics of LP, PLP, and WLP, such that they
three share the same syntactic categories of string diagrams, and differ regarding to the semantic
categories according to their data/computation type. This allows for a uniform diagrammatic
expression for certain semantic constructs. Moreover, based on similar approaches to Bayesian
networks, this provides a framework to formalise the connection between PLP and Bayesian
networks. Furthermore, we prove a sound and complete aximatization of the semantic category
for LP, in terms of string diagrams. Together with the diagrammatic presentation of the
fixed point semantics, one obtain a decidable calculus for proving the equivalence between
propositional definite logic programs
Probabilistic Programming Concepts
A multitude of different probabilistic programming languages exists today,
all extending a traditional programming language with primitives to support
modeling of complex, structured probability distributions. Each of these
languages employs its own probabilistic primitives, and comes with a particular
syntax, semantics and inference procedure. This makes it hard to understand the
underlying programming concepts and appreciate the differences between the
different languages. To obtain a better understanding of probabilistic
programming, we identify a number of core programming concepts underlying the
primitives used by various probabilistic languages, discuss the execution
mechanisms that they require and use these to position state-of-the-art
probabilistic languages and their implementation. While doing so, we focus on
probabilistic extensions of logic programming languages such as Prolog, which
have been developed since more than 20 years
- …