English
Related papers

Related papers: Automating Unrealizability Logic: Hoare-Style Proo…

200 papers

In this work, we consider the fundamental problem of reachability analysis over imperative programs with real variables. The reachability property requires that a program can reach certain target states during its execution. Previous works…

Programming Languages · Computer Science 2020-07-29 Ali Asadi , Krishnendu Chatterjee , Hongfei Fu , Amir Kafshdar Goharshady , Mohammad Mahdavi

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems.…

Logic in Computer Science · Computer Science 2023-03-14 Andrea Lattuada , Travis Hance , Chanhee Cho , Matthias Brun , Isitha Subasinghe , Yi Zhou , Jon Howell , Bryan Parno , Chris Hawblitzel

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

Enhancing the mathematical reasoning of large language models (LLMs) demands high-quality training data, yet conventional methods face critical challenges in scalability, cost, and data reliability. To address these limitations, we propose…

Computation and Language · Computer Science 2025-08-27 Sirui Chen , Changxin Tian , Binbin Hu , Kunlong Chen , Ziqi Liu , Zhiqiang Zhang , Jun Zhou

Proving equivalence between functional programs is a fundamental problem in program verification, which often amounts to reasoning about algebraic data types (ADTs) and compositions of structural recursions. Modern theorem provers address…

Programming Languages · Computer Science 2024-05-21 Yican Sun , Ruyi Ji , Jian Fang , Xuanlin Jiang , Mingshuai Chen , Yingfei Xiong

We propose a modular method for proving termination of general logic programs (i.e., logic programs with negation). It is based on the notion of acceptable programs, but it allows us to prove termination in a truly modular way. We consider…

Logic in Computer Science · Computer Science 2025-06-18 Annalisa Bossi , Nicoletta Cocco , Sandro Etalle , Sabina Rossi

The symbolic-heap fragment of separation logic has been actively developed and advocated for verifying the memory-safety property of computer programs. At present, one of its biggest challenges is to effectively prove entailments containing…

Logic in Computer Science · Computer Science 2017-11-09 Quang-Trung Ta , Ton Chanh Le , Siau-Cheng Khoo , Wei-Ngan Chin

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the…

Programming Languages · Computer Science 2017-04-17 Laura Kovacs

We propose algorithms for performing model checking and control synthesis for discrete-time uncertain systems under linear temporal logic (LTL) specifications. We construct temporal logic trees (TLT) from LTL formulae via reachability…

Systems and Control · Electrical Eng. & Systems 2020-07-07 Yulong Gao , Alessandro Abate , Frank J. Jiang , Mirco Giacobbe , Lihua Xie , Karl H. Johansson

The theory of finite term algebras provides a natural framework to describe the semantics of functional languages. The ability to efficiently reason about term algebras is essential to automate program analysis and verification for…

Logic in Computer Science · Computer Science 2016-11-10 Laura Kovacs , Simon Robillard , Andrei Voronkov

Proof-oriented programs mix computational content with proofs of program correctness. However, the human effort involved in programming and proving is still substantial, despite the use of Satisfiability Modulo Theories (SMT) solvers to…

Programming Languages · Computer Science 2024-09-06 Saikat Chakraborty , Gabriel Ebner , Siddharth Bhat , Sarah Fakhoury , Sakina Fatima , Shuvendu Lahiri , Nikhil Swamy

We show how to generate and validate logical proofs of unsatisfiability from delta-complete decision procedures that rely on error-prone numerical algorithms. Solving this problem is important for ensuring correctness of the decision…

Logic in Computer Science · Computer Science 2014-09-24 Sicun Gao , Soonho Kong , Edmund Clarke

This paper presents an example of formal reasoning about the semantics of a Prolog program of practical importance (the SAT solver of Howe and King). The program is treated as a definite clause logic program with added control. The logic…

Logic in Computer Science · Computer Science 2017-05-15 Włodzimierz Drabent

The need for formal definition of the very basis of mathematics arose in the last century. The scale and complexity of mathematics, along with discovered paradoxes, revealed the danger of accumulating errors across theories. Although,…

Logic in Computer Science · Computer Science 2018-09-10 Artem Yushkovskiy

We study the model-checking problem for recursion schemes: does the tree generated by a given higher-order recursion scheme satisfy a given logical sentence. The problem is known to be decidable for sentences of the MSO logic. We prove…

Logic in Computer Science · Computer Science 2023-06-22 Paweł Parys

A framework is presented for the verification of Signal Temporal Logic (STL) specifications over continuous-time nonlinear systems under uncertainty. Based on reachability analysis, the proposed method addresses indeterminate satisfaction…

Logic in Computer Science · Computer Science 2025-11-25 Antoine Besset , Joris Tillet , Julien Alexandre dit Sandretto

We study the problem of automated hypersafety verification of infinite-state recursive programs. We propose an infinite class of product programs, specifically designed with recursion in mind, that reduce the hypersafety verification of a…

Programming Languages · Computer Science 2025-08-26 Ruotong Cheng , Azadeh Farzan

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2021-07-27 Zhaowei Xu , Mingsheng Ying , Benoît Valiron

Program synthesis is the generation of a program from a specification. Correct synthesis is difficult, and methods that provide formal guarantees suffer from scalability issues. On the other hand, neural networks are able to generate…

Logic in Computer Science · Computer Science 2020-01-28 Elizabeth Polgreen , Ralph Abboud , Daniel Kroening

Software synthesis - the process of generating complete, general-purpose programs from specifications - has become a hot research topic in the past few years. For decades the problem was thought to be insurmountable: the search space of…

Programming Languages · Computer Science 2015-10-29 Jonathan Frankle