English
Related papers

Related papers: From Big-Step to Small-Step Semantics and Back wit…

200 papers

CHR is a declarative, concurrent and committed choice rule-based constraint programming language. We extend CHR with multiset comprehension patterns, providing the programmer with the ability to write multiset rewriting rules that can match…

Programming Languages · Computer Science 2014-06-10 Edmund S. L. Lam , Iliano Cervesato

The traditional abstract domain framework for imperative programs suffers from several shortcomings; in particular it does not allow precise symbolic abstractions. To solve these problems, we propose a new abstract interpretation framework,…

Software Engineering · Computer Science 2018-01-01 Matthieu Lemerre , Sébastien Bardin

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii

The goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and…

Programming Languages · Computer Science 2010-10-28 Xavier Leroy

The operational semantics of a programming language is said to be small-step if each transition step is an atomic computation step in the language. A semantics with this property faithfully corresponds to the implementation of the language.…

Programming Languages · Computer Science 2021-12-22 Brian Courtehoute , Detlef Plump

Large Language Models (LLMs) trained on petabytes of data are highly compressed repositories of a significant proportion of the knowledge accumulated and distilled so far. In this paper we study techniques to elicit this knowledge in the…

Artificial Intelligence · Computer Science 2025-02-14 Paul Tarau

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

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

A new, flexible inference method for Horn logic program is proposed, which is a drastic generalization of chart parsing, partial instantiations of clauses in a program roughly corresponding to arcs in a chart. Chart-like parsing and…

cmp-lg · Computer Science 2008-02-03 HASIDA Koiti

We present an approach to constrained Horn clause (CHC) verification combining three techniques: abstract interpretation over a domain of convex polyhedra, specialisation of the constraints in CHCs using abstract interpretation of…

Logic in Computer Science · Computer Science 2014-12-04 Bishoksan Kafle , John P. Gallagher

In this paper, we study whether transformer-based language models can extract predicate argument structure from simple sentences. We firstly show that language models sometimes confuse which predicates apply to which objects. To mitigate…

Computation and Language · Computer Science 2024-10-07 Akshay Chaturvedi , Nicholas Asher

Constrained Horn Clauses (CHCs) have conventionally been used as a low-level representation in formal verification. Most existing solvers use a diverse set of specialized techniques, including direct state space traversal or…

Logic in Computer Science · Computer Science 2024-04-24 Márk Somorjai , Mihály Dobos-Kovács , Zsófia Ádám , Levente Bajczi , András Vörös

It is well-known that big-step semantics is not able to distinguish stuck and non-terminating computations. This is a strong limitation as it makes very difficult to reason about properties involving infinite computations, such as type…

Programming Languages · Computer Science 2022-03-01 Francesco Dagnino

A grammar formalism based upon CHR is proposed analogously to the way Definite Clause Grammars are defined and implemented on top of Prolog. These grammars execute as robust bottom-up parsers with an inherent treatment of ambiguity and a…

Computation and Language · Computer Science 2007-05-23 Henning Christiansen

Several techniques and tools have been developed for verification of properties expressed as Horn clauses with constraints over a background theory (CHC). Current CHC verification tools implement intricate algorithms and are often limited…

Programming Languages · Computer Science 2014-05-16 John P. Gallagher , Bishoksan Kafle

We argue that the implementation and verification of compilers for functional programming languages are greatly simplified by employing a higher-order representation of syntax known as Higher-Order Abstract Syntax or HOAS. The underlying…

Programming Languages · Computer Science 2017-02-14 Yuting Wang

A computational limit of combining partial evaluation and program inversion is investigated. Using a reversible Turing machine interpreter, we show that the first Futamura and inversion projections can produce not only functionally but also…

Programming Languages · Computer Science 2024-12-05 Robert Glück , Louis Marott Normann

We consider approximating data structures with collections of the items that they contain. For examples, lists, binary trees, tuples, etc, can be approximated by sets or multisets of the items within them. Such approximations can be used to…

Logic in Computer Science · Computer Science 2007-08-17 Dale Miller

Constraint Handling Rules (CHR) is a declarative committed-choice programming language with a strong relationship to linear logic. Its generalization CHR with Disjunction (CHRv) is a multi-paradigm declarative programming language that…

Programming Languages · Computer Science 2010-09-16 Hariolf Betz , Thom W. Frühwirth

Verifying programs that manipulate tree data structures often requires complex, ad-hoc proofs that are hard to generalize and automate. This paper introduces an automatic technique for analyzing such programs. Our approach combines automata…

Programming Languages · Computer Science 2024-10-15 Marco Faella , Gennaro Parlato