37,694 research outputs found
Formal verification of higher-order probabilistic programs
Probabilistic programming provides a convenient lingua franca for writing
succinct and rigorous descriptions of probabilistic models and inference tasks.
Several probabilistic programming languages, including Anglican, Church or
Hakaru, derive their expressiveness from a powerful combination of continuous
distributions, conditioning, and higher-order functions. Although very
important for practical applications, these combined features raise fundamental
challenges for program semantics and verification. Several recent works offer
promising answers to these challenges, but their primary focus is on semantical
issues.
In this paper, we take a step further and we develop a set of program logics,
named PPV, for proving properties of programs written in an expressive
probabilistic higher-order language with continuous distributions and operators
for conditioning distributions by real-valued functions. Pleasingly, our
program logics retain the comfortable reasoning style of informal proofs thanks
to carefully selected axiomatizations of key results from probability theory.
The versatility of our logics is illustrated through the formal verification of
several intricate examples from statistics, probabilistic inference, and
machine learning. We further show the expressiveness of our logics by giving
sound embeddings of existing logics. In particular, we do this in a parametric
way by showing how the semantics idea of (unary and relational) TT-lifting can
be internalized in our logics. The soundness of PPV follows by interpreting
programs and assertions in quasi-Borel spaces (QBS), a recently proposed
variant of Borel spaces with a good structure for interpreting higher order
probabilistic programs
Applications of Intuitionistic Logic in Answer Set Programming
We present some applications of intermediate logics in the field of Answer
Set Programming (ASP). A brief, but comprehensive introduction to the answer
set semantics, intuitionistic and other intermediate logics is given. Some
equivalence notions and their applications are discussed. Some results on
intermediate logics are shown, and applied later to prove properties of answer
sets. A characterization of answer sets for logic programs with nested
expressions is provided in terms of intuitionistic provability, generalizing a
recent result given by Pearce.
It is known that the answer set semantics for logic programs with nested
expressions may select non-minimal models. Minimal models can be very important
in some applications, therefore we studied them; in particular we obtain a
characterization, in terms of intuitionistic logic, of answer sets which are
also minimal models. We show that the logic G3 characterizes the notion of
strong equivalence between programs under the semantic induced by these models.
Finally we discuss possible applications and consequences of our results. They
clearly state interesting links between ASP and intermediate logics, which
might bring research in these two areas together.Comment: 30 pages, Under consideration for publication in Theory and Practice
of Logic Programmin
A game theoretical semantics for logics of nonsense
Logics of non-sense allow a third truth value to express propositions that are nonsense. These logics are ideal formalisms to understand how errors are handled in programs and how they propagate throughout the programs once they appear. In this paper, we give a Hintikkan game semantics for logics of non-sense and prove its correctness. We also discuss how a known solution method in game theory, the iterated elimination of strictly dominated strategies, relates to semantic games for logics of nonsense. Finally, we extend the logics of nonsense only by means of semantic games, developing a new logic of nonsense, and propose a new game semantics for Priestās Logic of Paradox
Program logics for homogeneous meta-programming.
A meta-program is a program that generates or manipulates another program; in homogeneous meta-programming, a program may generate new parts of, or manipulate, itself. Meta-programming has been used extensively since macros
were introduced to Lisp, yet we have little idea how formally to reason about metaprograms. This paper provides the first program logics for homogeneous metaprogramming
ā using a variant of MiniMLe by Davies and Pfenning as underlying meta-programming language.We show the applicability of our approach by reasoning about example meta-programs from the literature. We also demonstrate that our logics are relatively complete in the sense of Cook, enable the inductive derivation of characteristic formulae, and exactly capture the observational properties induced by the operational semantics
- ā¦