English
Related papers

Related papers: (Quantified) Horn Constraint Solving for Program V…

200 papers

Catamorphisms are functions that are recursively defined on list and trees and, in general, on Algebraic Data Types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms…

Logic in Computer Science · Computer Science 2025-02-19 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We address the problem of verifying that the functions of a program meet their contracts, specified by pre/postconditions. We follow an approach based on constrained Horn clauses (CHCs) by which the verification problem is reduced to the…

Logic in Computer Science · Computer Science 2022-09-08 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

The quantified constraint satisfaction problem $\mathrm{QCSP}(\mathcal{A})$ is the problem to decide whether a positive Horn sentence, involving nothing more than the two quantifiers and conjunction, is true on some fixed structure…

Logic in Computer Science · Computer Science 2017-01-11 Barnaby D. Martin , Hubie Chen , Florent R. Madelaine

We present a verification technique for program safety that combines Iterated Specialization and Interpolating Horn Clause Solving. Our new method composes together these two techniques in a modular way by exploiting the common Horn Clause…

Logic in Computer Science · Computer Science 2014-12-04 Emanuele De Angelis , Fabio Fioravanti , Jorge A. Navas , Maurizio Proietti

In this paper, we present a framework for automatic generation of CHR solvers given the logical specification of the constraints. This approach takes advantage of the power of tabled resolution for constraint logic programming, in order to…

Logic in Computer Science · Computer Science 2007-05-23 Slim Abdennadher , Christophe Rigotti

Programs that manipulate tree-shaped data structures often require complex, specialized proofs that are difficult to generalize and automate. This paper introduces a unified, foundational approach to verifying such programs. Central to our…

Programming Languages · Computer Science 2025-05-21 Marco Faella , Gennaro Parlato

In this paper we show how prescritive type checking and constraint solving can be combined to increase automation during software verification. We do so by defining a type system and implementing a typechecker for {log} (read `setlog'), a…

Logic in Computer Science · Computer Science 2025-01-22 Maximiliano Cristiá , Gianfranco Rossi

In various applications the search for certificates for certain properties (e.g., stability of dynamical systems, program termination) can be formulated as a quantified constraint solving problem with quantifier prefix exists-forall. In…

Logic in Computer Science · Computer Science 2014-06-26 Milan Hladík , Stefan Ratschan

This paper summarises the results obtained by the author and his collaborators in a program logic approach to the verification of quantum programs, including quantum Hoare logic, invariant generation and termination analysis for quantum…

Quantum Physics · Physics 2018-08-01 Mingsheng Ying

Constrained Horn Clauses (CHCs) are often used in automated program verification. Thus, techniques for (dis-)proving satisfiability of CHCs are a very active field of research. On the other hand, acceleration techniques for computing…

Logic in Computer Science · Computer Science 2023-07-17 Florian Frohn , Jürgen Giesl

We study the classical problem of verifying programs with respect to formal specifications given in the linear temporal logic (LTL). We first present novel sound and complete witnesses for LTL verification over imperative programs. Our…

Many transformation techniques developed for constraint logic programs, also known as constrained Horn clauses (CHCs), have found new useful applications in the field of program verification. In this paper, we work out a nontrivial case…

Logic in Computer Science · Computer Science 2020-08-10 Emanuele De Angelis , Fabio Fioravanti , Maurizio Proietti

We address the problem of verifying the satisfiability of Constrained Horn Clauses (CHCs) based on theories of inductively defined data structures, such as lists and trees. We propose a transformation technique whose objective is the…

Logic in Computer Science · Computer Science 2018-10-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Software Engineering · Computer Science 2023-06-02 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer

Constrained Horn Clauses (CHCs) are widely adopted as intermediate representations for a variety of verification tasks, including safety checking, invariant synthesis, and interprocedural analysis. This paper introduces CHCVERIF, a…

Software Engineering · Computer Science 2025-10-31 Mihály Dobos-Kovács , Levente Bajczi , András Vörös

The verification of reductions, representative subsets of interleavings, simplifies correctness proofs of parameterized concurrent programs. We introduce an expressive class of syntactic reductions, which we call natural reductions. Natural…

Programming Languages · Computer Science 2026-05-14 Constantin Enea , Azadeh Farzan , Dominik Klumpp

Many recent analyses for conventional imperative programs begin by transforming programs into logic programs, capitalising on existing LP analyses and simple LP semantics. We propose using logic programs as an intermediate program…

Programming Languages · Computer Science 2020-02-19 Graeme Gange , Jorge A. Navas , Peter Schachte , Harald Sondergaard , Peter J. Stuckey

{log} (read 'setlog') was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, {log} is a constraint satisfiability solver implementing…

Logic in Computer Science · Computer Science 2026-03-13 Maximiliano Cristiá , Alfredo Capozucca , Gianfranco Rossi

First-order resolution has been used for type inference for many years, including in Hindley- Milner type inference, type-classes, and constrained data types. Dependent types are a new trend in functional languages. In this paper, we show…

Logic in Computer Science · Computer Science 2018-05-01 František Farka , Ekaterina Komendantskya , Kevin Hammond