4,590 research outputs found
A Tree Logic with Graded Paths and Nominals
Regular tree grammars and regular path expressions constitute core constructs
widely used in programming languages and type systems. Nevertheless, there has
been little research so far on reasoning frameworks for path expressions where
node cardinality constraints occur along a path in a tree. We present a logic
capable of expressing deep counting along paths which may include arbitrary
recursive forward and backward navigation. The counting extensions can be seen
as a generalization of graded modalities that count immediate successor nodes.
While the combination of graded modalities, nominals, and inverse modalities
yields undecidable logics over graphs, we show that these features can be
combined in a tree logic decidable in exponential time
Completeness of Flat Coalgebraic Fixpoint Logics
Modal fixpoint logics traditionally play a central role in computer science,
in particular in artificial intelligence and concurrency. The mu-calculus and
its relatives are among the most expressive logics of this type. However,
popular fixpoint logics tend to trade expressivity for simplicity and
readability, and in fact often live within the single variable fragment of the
mu-calculus. The family of such flat fixpoint logics includes, e.g., LTL, CTL,
and the logic of common knowledge. Extending this notion to the generic
semantic framework of coalgebraic logic enables covering a wide range of logics
beyond the standard mu-calculus including, e.g., flat fragments of the graded
mu-calculus and the alternating-time mu-calculus (such as alternating-time
temporal logic ATL), as well as probabilistic and monotone fixpoint logics. We
give a generic proof of completeness of the Kozen-Park axiomatization for such
flat coalgebraic fixpoint logics.Comment: Short version appeared in Proc. 21st International Conference on
Concurrency Theory, CONCUR 2010, Vol. 6269 of Lecture Notes in Computer
Science, Springer, 2010, pp. 524-53
Functional Ownership through Fractional Uniqueness
Ownership and borrowing systems, designed to enforce safe memory management
without the need for garbage collection, have been brought to the fore by the
Rust programming language. Rust also aims to bring some guarantees offered by
functional programming into the realm of performant systems code, but the type
system is largely separate from the ownership model, with type and borrow
checking happening in separate compilation phases. Recent models such as
RustBelt and Oxide aim to formalise Rust in depth, but there is less focus on
integrating the basic ideas into more traditional type systems. An approach
designed to expose an essential core for ownership and borrowing would open the
door for functional languages to borrow concepts found in Rust and other
ownership frameworks, so that more programmers can enjoy their benefits.
One strategy for managing memory in a functional setting is through
uniqueness types, but these offer a coarse-grained view: either a value has
exactly one reference, and can be mutated safely, or it cannot, since other
references may exist. Recent work demonstrates that linear and uniqueness types
can be combined in a single system to offer restrictions on program behaviour
and guarantees about memory usage. We develop this connection further, showing
that just as graded type systems like those of Granule and Idris generalise
linearity, Rust's ownership model arises as a graded generalisation of
uniqueness. We combine fractional permissions with grading to give the first
account of ownership and borrowing that smoothly integrates into a standard
type system alongside linearity and graded types, and extend Granule
accordingly with these ideas.Comment: 23 pages + references. In submissio
Global Numerical Constraints on Trees
We introduce a logical foundation to reason on tree structures with
constraints on the number of node occurrences. Related formalisms are limited
to express occurrence constraints on particular tree regions, as for instance
the children of a given node. By contrast, the logic introduced in the present
work can concisely express numerical bounds on any region, descendants or
ancestors for instance. We prove that the logic is decidable in single
exponential time even if the numerical constraints are in binary form. We also
illustrate the usage of the logic in the description of numerical constraints
on multi-directional path queries on XML documents. Furthermore, numerical
restrictions on regular languages (XML schemas) can also be concisely described
by the logic. This implies a characterization of decidable counting extensions
of XPath queries and XML schemas. Moreover, as the logic is closed under
negation, it can thus be used as an optimal reasoning framework for testing
emptiness, containment and equivalence
Disjunctive bases: normal forms and model theory for modal logics
We present the concept of a disjunctive basis as a generic framework for
normal forms in modal logic based on coalgebra. Disjunctive bases were defined
in previous work on completeness for modal fixpoint logics, where they played a
central role in the proof of a generic completeness theorem for coalgebraic
mu-calculi. Believing the concept has a much wider significance, here we
investigate it more thoroughly in its own right. We show that the presence of a
disjunctive basis at the "one-step" level entails a number of good properties
for a coalgebraic mu-calculus, in particular, a simulation theorem showing that
every alternating automaton can be transformed into an equivalent
nondeterministic one. Based on this, we prove a Lyndon theorem for the full
fixpoint logic, its fixpoint-free fragment and its one-step fragment, a Uniform
Interpolation result, for both the full mu-calculus and its fixpoint-free
fragment, and a Janin-Walukiewicz-style characterization theorem for the
mu-calculus under slightly stronger assumptions.
We also raise the questions, when a disjunctive basis exists, and how
disjunctive bases are related to Moss' coalgebraic "nabla" modalities. Nabla
formulas provide disjunctive bases for many coalgebraic modal logics, but there
are cases where disjunctive bases give useful normal forms even when nabla
formulas fail to do so, our prime example being graded modal logic. We also
show that disjunctive bases are preserved by forming sums, products and
compositions of coalgebraic modal logics, providing tools for modular
construction of modal logics admitting disjunctive bases. Finally, we consider
the problem of giving a category-theoretic formulation of disjunctive bases,
and provide a partial solution
Quantitative Equality in Substructural Logic via Lipschitz Doctrines
Substructural logics naturally support a quantitative interpretation of
formulas, as they are seen as consumable resources. Distances are the
quantitative counterpart of equivalence relations: they measure how much two
objects are similar, rather than just saying whether they are equivalent or
not. Hence, they provide the natural choice for modelling equality in a
substructural setting. In this paper, we develop this idea, using the
categorical language of Lawvere's doctrines. We work in a minimal fragment of
Linear Logic enriched by graded modalities, which are needed to write a
resource sensitive substitution rule for equality, enabling its quantitative
interpretation as a distance. We introduce both a deductive calculus and the
notion of Lipschitz doctrine to give it a sound and complete categorical
semantics. The study of 2-categorical properties of Lipschitz doctrines
provides us with a universal construction, which generates examples based for
instance on metric spaces and quantitative realisability. Finally, we show how
to smoothly extend our results to richer substructural logics, up to full
Linear Logic with quantifiers
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
Combining Effects and Coeffects via Grading
This is the author accepted manuscript. It is currently under an indefinite embargo pending publication by the Association for Computing Machinery. and are two general, complementary aspects of program behaviour. They roughly correspond to computations which change the execution context (effects) versus computations which make demands on the context (coeffects). Effectful features include partiality, non-determinism, input-output, state, and exceptions. Coeffectful features include resource demands, variable access, notions of linearity, and data input requirements.
The effectful or coeffectful behaviour of a program can be captured and described via type-based analyses, with fine grained information provided by monoidal effect annotations and semiring coeffects. Various recent work has proposed models for such typed calculi in terms of for effects and for coeffects.
Effects and coeffects have been studied separately so far, but in practice many computations are both effectful and coeffectful, e.g., possibly throwing exceptions but with resource requirements. To remedy this, we introduce a new general calculus with a combined . This can describe both the and that a program has on its context, as well as interactions between these effectful and coeffectful features of computation. The effect-coeffect system has a denotational model in terms of effect-graded monads and coeffect-graded comonads where interaction is expressed via the novel concept of . This graded semantics unifies the syntactic type theory with the denotational model. We show that our calculus can be instantiated to describe in a natural way various different kinds of interaction between a program and its evaluation context.Orchard was supported by EPSRC grant EP/M026124/1 and EP/K011715/1 (whilst previously at Imperial College London), Katsumata by JSPS KAKENHI grant JP15K00014, Uustalu by Estonian Min. of Educ. and Res. grant IUT33-13 and Estonian Sci. Found. grant 9475. Gaboardi’s work was done in part while at the University of Dundee, UK supported by EPSRC grant EP/M022358/1
- …