English
Related papers

Related papers: Verifying Graph Programs with First-Order Logic (E…

200 papers

GP 2 is an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is hard because graph matching is expensive, however…

Programming Languages · Computer Science 2021-01-05 Graham Campbell , Jack Romo , Detlef Plump

We introduce an extension of first-order logic that comes equipped with additional predicates for reasoning about an abstract state. Sequents in the logic comprise a main formula together with pre- and postconditions in the style of Hoare…

Logic in Computer Science · Computer Science 2024-08-07 Thomas Powell

Hoare logic is a foundation of axiomatic semantics of classical programs and it provides effective proof techniques for reasoning about correctness of classical programs. To offer similar techniques for quantum program verification and to…

Quantum Physics · Physics 2009-06-26 Mingsheng Ying

We consider graph properties that can be checked from labels, i.e., bit sequences, of logarithmic length attached to vertices. We prove that there exists such a labeling for checking a first-order formula with free set variables in the…

Data Structures and Algorithms · Computer Science 2014-07-09 Bruno Courcelle , Cyril Gavoille , Mamadou Moustapha Kanté

Programs must be correct with respect to their application domain. Yet, the program specification and verification approaches so far only consider correctness in terms of computations. In this work, we present a two-tier Hoare Logic that…

Logic in Computer Science · Computer Science 2024-02-02 Eduard Kamburjan , Dilian Gurov

Automated theorem proving in first-order logic is an active research area which is successfully supported by machine learning. While there have been various proposals for encoding logical formulas into numerical vectors -- from simple…

Artificial Intelligence · Computer Science 2020-03-17 Ibrahim Abdelaziz , Veronika Thost , Maxwell Crouse , Achille Fokoue

GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four…

Logic in Computer Science · Computer Science 2010-04-08 Detlef Plump , Sandra Steinert

In this work we propose a multi-valued extension of logic programs under the stable models semantics where each true atom in a model is associated with a set of justifications. These justifications are expressed in terms of causal graphs…

Artificial Intelligence · Computer Science 2014-09-26 Pedro Cabalar , Jorge Fandinno , Michael Fink

In these lecture notes, we first recall the connection between graph neural networks, Weisfeiler-Lehman tests and logics such as first-order logic and graded modal logic. We then present a modal logic in which counting modalities appear in…

Logic in Computer Science · Computer Science 2025-10-14 François Schwarzentruber

We construct a fixed parameter algorithm parameterized by d and k that takes as an input a graph G' obtained from a d-degenerate graph G by complementing on at most k arbitrary subsets of the vertex set of G and outputs a graph H such that…

Discrete Mathematics · Computer Science 2018-06-28 Jakub Gajarsky , Daniel Kral

Combining ideas from distributed algorithms and alternating automata, we introduce a new class of finite graph automata that recognize precisely the languages of finite graphs definable in monadic second-order logic. By restricting…

Formal Languages and Automata Theory · Computer Science 2018-07-03 Fabian Reiter

SCOOP is a programming model and language that allows concurrent programming at a high level of abstraction. Several approaches to verifying SCOOP programs have been proposed in the past, but none of them operate directly on the source code…

Programming Languages · Computer Science 2015-05-21 Claudio Corrodi

We study the question of whether, for a given class of finite graphs, one can define, for each graph of the class, a linear ordering in monadic second-order logic, possibly with the help of monadic parameters. We consider two variants of…

Logic in Computer Science · Computer Science 2015-07-01 Achim Blumensath , Bruno Courcelle

Higher-order constructs enable more expressive and concise code by allowing procedures to be parameterized by other procedures. Assertions allow expressing partial program specifications, which can be verified either at compile time…

Programming Languages · Computer Science 2025-09-11 Marco Ciccalè , Daniel Jurjo-Rivas , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

The overall goal of this paper is to investigate the theoretical foundations of algorithmic verification techniques for first order linear logic specifications. The fragment of linear logic we consider in this paper is based on the linear…

Programming Languages · Computer Science 2007-05-23 M. Bozzano , G. Delzanno , M. Martelli

The graph programming language GP 2 allows to apply sets of rule schemata (or "attributed" rules) non-deterministically. To analyse conflicts of programs statically, graphs labelled with expressions are overlayed to construct critical pairs…

Logic in Computer Science · Computer Science 2017-05-08 Ivaylo Hristakiev , Detlef Plump

We propose a novel logic, called Frame Logic (FL), that extends first-order logic (with recursive definitions) using a construct Sp(.) that captures the implicit supports of formulas -- the precise subset of the universe upon which their…

Logic in Computer Science · Computer Science 2022-09-27 Adithya Murali , Lucas Peña , Christof Löding , P. Madhusudan

Deductive verification techniques based on program logics (i.e., the family of Floyd-Hoare logics) are a powerful approach for program reasoning. Recently, there has been a trend of increasing the expressive power of such logics by…

Logic in Computer Science · Computer Science 2021-01-27 Marco Gaboardi , Shin-ya Katsumata , Dominic Orchard , Tetsuya Sato

Higher-order logic programming is an interesting extension of traditional logic programming that allows predicates to appear as arguments and variables to be used where predicates typically occur. Higher-order characteristics are indeed…

Programming Languages · Computer Science 2018-12-04 Antonis Troumpoukis , Angelos Charalambidis

In this paper we explore the design of sequent calculi operating on graphs. For this purpose, we introduce a set of logical connectives allowing us to extend the correspondence between cographs and classical propositional formulas to any…

Logic in Computer Science · Computer Science 2024-02-13 Matteo Acclavio