English
Related papers

Related papers: A Versatile, Sound Tool for Simplifying Definition…

200 papers

Using Isabelle/HOL, we verify a union-find data structure with an explain operation due to Nieuwenhuis and Oliveras. We devise a simpler, more naive version of the explain operation whose soundness and completeness is easy to verify. Then,…

Logic in Computer Science · Computer Science 2025-08-12 Lukas Stevens , Rebecca Ghidini

We generalize the notion of proof term to the realm of transfinite reduction. Proof terms represent reductions in the first-order term format, thereby facilitating their formal analysis. We show that any transfinite reduction can be…

Logic in Computer Science · Computer Science 2014-02-13 Carlos Lombardi , Alejandro Ríos , Roel de Vrijer

Function calling, also known as tool use, is a core capability of modern LLM agents but is typically constrained by synchronous execution semantics. Under these semantics, LLM decoding is blocked until each function call completes,…

Computation and Language · Computer Science 2026-05-15 Guangyu Feng , Huanzhi Mao , Prabal Dutta , Joseph E. Gonzalez

Proof assistants are software-based tools that are used in the mechanization of proof construction and validation in mathematics and computer science, and also in certified program development. Different tools are being increasingly used in…

Formal Languages and Automata Theory · Computer Science 2015-05-04 Marcus Vinícius Midena Ramos , Ruy J. G. B. de Queiroz

Coinduction refers to both a technique for the definition of infinite streams, so-called codata, and a technique for proving the equality of coinductively specified codata. This article first reviews coinduction in declarative programming.…

Programming Languages · Computer Science 2020-07-23 François Bry

Formal verification is increasingly recognized as a critical foundation for building reliable software systems. However, the need for specialized expertise to write precise specifications, navigate complex proof obligations, and learn…

Software Engineering · Computer Science 2025-10-31 Changjie Wang , Mariano Scazzariello , Anoud Alshnakat , Roberto Guanciale , Dejan Kostić , Marco Chiesa

Ackermann's function can be expressed using an iterative algorithm, which essentially takes the form of a term rewriting system. Although the termination of this algorithm is far from obvious, its equivalence to the traditional recursive…

Logic in Computer Science · Computer Science 2022-10-14 Lawrence C Paulson

ACL2(ml) is an extension for the Emacs interface of ACL2. This tool uses machine-learning to help the ACL2 user during the proof-development. Namely, ACL2(ml) gives hints to the user in the form of families of similar theorems, and…

Logic in Computer Science · Computer Science 2014-06-09 Jónathan Heras , Ekaterina Komendantskaya

Alias analysis, which determines whether two expressions in a program may reference to the same object, has many potential applications in program construction and verification. We have developed a theory for alias analysis, the "alias…

Programming Languages · Computer Science 2013-07-12 Alexander Kogtenkov , Bertrand Meyer , Sergey Velder

The logic embedding tool provides a procedural encoding for non-classical reasoning problems into classical higher-order logic. It is extensible and can support an increasing number of different non-classical logics as reasoning targets.…

Artificial Intelligence · Computer Science 2022-03-24 Alexander Steen

One major deficiency of most semantic representation techniques is that they usually model a word type as a single point in the semantic space, hence conflating all the meanings that the word can have. Addressing this issue by learning…

Computation and Language · Computer Science 2016-08-08 Mohammad Taher Pilehvar , Nigel Collier

Refactorings must not alter the program's functionality. However, not all refactorings fulfill this requirement. Hence, one must explicitly check that a refactoring does not alter the functionality. Since one rarely has a formal…

Logic in Computer Science · Computer Science 2021-03-24 Marie-Christine Jakobs

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

In this paper we propose a calculus for expressing algorithms for programming languages transformations. We present the type system and operational semantics of the calculus, and we prove that it is type sound. We have implemented our…

Programming Languages · Computer Science 2019-10-29 Benjamin Mourad , Matteo Cimini

A novel model of reversible computing, the $\aleph$-calculus, is introduced. It is declarative, reversible-Turing complete, and has a local term-rewriting semantics. Unlike previously demonstrated reversible term-rewriting systems, it does…

Programming Languages · Computer Science 2022-06-14 Hannah Earley

Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in applying them on arbitrarily extensive and complex code in order to improve style or efficiency. We propose a simple, high-level but…

Programming Languages · Computer Science 2016-07-11 Dániel Horpácsi , Judit Kőszegi , Simon Thompson

Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in…

Programming Languages · Computer Science 2019-07-10 Henrich Lauko , Petr Ročkai , Jiří Barnat

Reactive synthesis is the task of automatically deriving a correct implementation from a specification. It is a promising technique for the development of verified programs and hardware. Despite recent advances in terms of algorithms and…

Logic in Computer Science · Computer Science 2021-12-17 Bernd Finkbeiner , Gideon Geier , Noemi Passing

Identifying the relationships among program elements is useful for program understanding, debugging, and analysis. One such relationship is synonymy. Function synonyms are functions that play a similar role in code, e.g. functions that…

Software Engineering · Computer Science 2018-02-27 Daniel DeFreez , Aditya V. Thakur , Cindy Rubio-González

Checking the semantic equivalence of operations is an important task in software development. For instance, regression testing is a routine task performed when software systems are developed and improved, and software package managers…

Programming Languages · Computer Science 2019-09-23 Sergio Antoy , Michael Hanus
‹ Prev 1 3 4 5 6 7 10 Next ›