14 research outputs found
Decidability and Complexity of Tree Share Formulas
Fractional share models are used to reason about how multiple actors share ownership of resources. We examine the decidability and complexity of reasoning over the "tree share" model of Dockins et al. using first-order logic, or fragments thereof. We pinpoint a connection between the basic operations on trees union, intersection, and complement and countable atomless Boolean algebras, allowing us to obtain decidability with the precise complexity of both first-order and existential theories over the tree share model with the aforementioned operations. We establish a connection between the multiplication operation on trees and the theory of word equations, allowing us to derive the decidability of its existential theory and the undecidability of its full first-order theory. We prove that the full first-order theory over the model with both the Boolean operations and the restricted multiplication operation (with constants on the right hand side) is decidable via an embedding to tree-automatic structures
Typed Equivalence of Effect Handlers and Delimited Control
It is folklore that effect handlers and delimited control operators are closely related: recently, this relationship has been proved in an untyped setting for deep handlers and the shift_0 delimited control operator. We positively resolve the conjecture that in an appropriately polymorphic type system this relationship can be extended to the level of types, by identifying the necessary forms of polymorphism, thus extending the definability result to the typed context. In the process, we identify a novel and potentially interesting type system feature for delimited control operators. Moreover, we extend these results to substantiate the folklore connection between shallow handlers and control_0 flavour of delimited control, both in an untyped and typed settings
Colored E-Graph: Equality Reasoning with Conditions
E-graphs are a prominent data structure that has been increasing in
popularity in recent years due to their expanding range of applications in
various formal reasoning tasks. Often, they are used for equality saturation, a
process of deriving consequences through repeatedly applying universally
quantified equality formulas via term rewriting. They handle equality reasoning
over a large spaces of terms, but are severely limited in their handling of
case splitting and other types of logical cuts, especially when compared to
other reasoning techniques such as sequent calculi and resolution. The main
difficulty is when equality reasoning requires multiple inconsistent
assumptions to reach a single conclusion. Ad-hoc solutions, such as duplicating
the e-graph for each assumption, are available, but they are notably
resource-intensive.
We introduce a key observation is that each duplicate e-graph (with an added
assumption) corresponds to coarsened congruence relation. Based on that, we
present an extension to e-graphs, called Colored E-Graphs, as a way to
represent all of the coarsened congruence relations in a single structure. A
colored e-graph is a memory-efficient equivalent of multiple copies of an
e-graph, with a much lower overhead. This is attained by sharing as much as
possible between different cases, while carefully tracking which conclusion is
true under which assumption. Support for multiple relations can be thought of
as adding multiple "color-coded" layers on top of the original e-graph
structure, leading to a large degree of sharing.
In our implementation, we introduce optimizations to rebuilding and
e-matching. We run experiments and demonstrate that our colored e-graphs can
support hundreds of assumptions and millions of terms with space requirements
that are an order of magnitude lower, and with similar time requirements
Parallel bug-finding in concurrent programs via reduced interleaving instances
Concurrency poses a major challenge for program verification, but it can also offer an opportunity to scale when subproblems can be analysed in parallel. We exploit this opportunity here and use a parametrizable code-to-code translation to generate a set of simpler program instances, each capturing a reduced set of the original program’s interleavings. These instances can then be checked independently in parallel. Our approach does not depend on the tool that is chosen for the final analysis, is compatible with weak memory models, and amplifies the effectiveness of existing tools, making them find bugs faster and with fewer resources. We use Lazy-CSeq as an off-the-shelf final verifier to demonstrate that our approach is able, already with a small number of cores, to find bugs in the hardest known concurrency benchmarks in a matter of minutes, whereas other dynamic and static tools fail to do so in hours
Craig Interpolation for Decidable First-Order Fragments
We show that the guarded-negation fragment (GNFO) is, in a precise sense, the
smallest extension of the guarded fragment (GFO) with Craig interpolation. In
contrast, we show that the smallest extension of the two-variable fragment
(FO2), and of the forward fragment (FF) with Craig interpolation, is full
first-order logic. Similarly, we also show that all extensions of FO2 and of
the fluted fragment (FL) with Craig interpolation are undecidable.Comment: Submitted for FoSSaCS 2024. arXiv admin note: substantial text
overlap with arXiv:2304.0808
Towards a verified compiler prototype for the synchronous language SIGNAL
International audienceSIGNAL belongs to the synchronous languages family which are widely used in the design of safety-critical real-time systems such as avionics, space systems, and nuclear power plants. This paper reports a compiler prototype for SIGNAL. Compared with the existing SIGNAL compiler, we propose a new intermediate representation (named S-CGA, a variant of clocked guarded actions), to integrate more synchronous programs into our compiler prototype in the future. The front-end of the compiler, i.e., the translation from SIGNAL to S-CGA, is presented. As well, the proof of semantics preservation is mechanized in the theorem prover Coq. Moreover, we present the back-end of the compiler, including sequential code generation and multithreaded code generation with time-predictable properties. With the rising importance of multi-core processors in safety-critical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multithreaded code and thus mapping on multi-core. We propose a time-predictable multi-core architecture model in architecture analysis and design language (AADL), and map the multi-threaded code to this model
Format Unraveled
International audiencePretty-printing can be described as finding a good-looking solution to typeset data according to a set of formatting conventions. Oppen [6] pioneered the field with an algorithmic solution to pretty-printing, using the notions of boxes and break hints. The Format module is a direct descendant of this work: it is unfortunately often misunderstood or even misused. The first goal of this article is to enhance the available documentation about Format by explaining its basic and advanced features but also its relationship and differences with Oppen's seminal work. The second goal is to investigate the links that Format has with the document-based pretty-printing tradition fostered by the lazy programming community [3, 4, 9, 10]
On the logical complexity of cyclic arithmetic
We study the logical complexity of proofs in cyclic arithmetic
(), as introduced in Simpson '17, in terms of quantifier
alternations of formulae occurring. Writing for (the logical
consequences of) cyclic proofs containing only formulae, our main
result is that and prove the same
theorems, for all . Furthermore, due to the 'uniformity' of our
method, we also show that and Peano Arithmetic ()
proofs of the same theorem differ only exponentially in size.
The inclusion is obtained by proof
theoretic techniques, relying on normal forms and structural manipulations of
proofs. It improves upon the natural result that is
contained in . The converse inclusion, , is obtained by calibrating the approach of Simpson '17 with
recent results on the reverse mathematics of B\"uchi's theorem in
Ko{\l}odziejczyk, Michalewski, Pradic & Skrzypczak '16 (KMPS'16), and
specialising to the case of cyclic proofs. These results improve upon the
bounds on proof complexity and logical complexity implicit in Simpson '17 and
also an alternative approach due to Berardi & Tatsuta '17.
The uniformity of our method also allows us to recover a metamathematical
account of fragments of ; in particular we show that, for , the consistency of is provable in but not
. As a result, we show that certain versions of McNaughton's
theorem (the determinisation of -word automata) are not provable in
, partially resolving an open problem from KMPS '16
Cyclic Hypersequent System for Transitive Closure Logic
We propose a cut-free cyclic system for transitive closure logic (TCL) based on a form of hypersequents, suitable for automated reasoning via proof search. We show that previously proposed sequent systems are cut-free incomplete for basic validities from Kleene Algebra (KA) and propositional dynamic logic (PDL), over standard translations. On the other hand, our system faithfully simulates known cyclic systems for KA and PDL , thereby inheriting their completeness results. A peculiarity of our system is its richer correctness criterion, exhibiting ‘alternating traces’ and necessitating a more intricate soundness argument than for traditional cyclic proofs.</p