English
Related papers

Related papers: Concise Outlines for a Complex Logic: A Proof Outl…

200 papers

We describe an extension to the TLA+ specification language with constructs for writing proofs and a proof environment, called the Proof Manager (PM), to checks those proofs. The language and the PM support the incremental development and…

Logic in Computer Science · Computer Science 2008-11-13 Kaustuv C. Chaudhuri , Damien Doligez , Leslie Lamport , Stephan Merz

It is widely acknowledged that function symbols are an important feature in answer set programming, as they make modeling easier, increase the expressive power, and allow us to deal with infinite domains. The main issue with their…

Artificial Intelligence · Computer Science 2020-02-19 Marco Calautti , Sergio Greco , Cristian Molinaro , Irina Trubitsyna

Automatic program repair usually relies heavily on test cases for both bug identification and fix validation. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not…

Software Engineering · Computer Science 2024-05-10 Li Huang , Bertrand Meyer , Ilgiz Mustafin , Manuel Oriol

We describe a prototype theorem prover, UTP2, developed to match the style of hand-written proof work in the Unifying Theories of Programming semantical framework. This is based on alphabetised predicates in a 2nd-order logic, with a strong…

Logic in Computer Science · Computer Science 2014-10-31 Andrew Butterfield

This article introduces a fully automated verification technique that permits to analyze real-time systems described using a continuous notion of time and a mixture of operational (i.e., automata-based) and descriptive (i.e., logic-based)…

Logic in Computer Science · Computer Science 2013-08-14 Carlo A. Furia , Matteo Pradella , Matteo Rossi

Proof Blocks is a software tool which enables students to write proofs by dragging and dropping prewritten proof lines into the correct order. These proofs can be graded completely automatically, enabling students to receive rapid feedback…

Computers and Society · Computer Science 2022-05-06 Seth Poulsen , Mahesh Viswanathan , Geoffrey L. Herman , Matthew West

Formal reasoning and automated theorem proving constitute a challenging subfield of machine learning, in which machines are tasked with proving mathematical theorems using formal languages like Lean. A formal verification system can check…

Artificial Intelligence · Computer Science 2025-11-05 Azim Ospanov , Farzan Farnia , Roozbeh Yousefzadeh

Mechanized verification of liveness properties for infinite programs with effects and nondeterminism is challenging. Existing temporal reasoning frameworks operate at the level of models such as traces and automata. Reasoning happens at a…

Programming Languages · Computer Science 2025-08-22 Eleftherios Ioannidis , Yannick Zakowski , Steve Zdancewic , Sebastian Angel

We propose a novel system, MathMistake Checker, designed to automate step-by-step mistake finding in mathematical problems with lengthy answers through a two-stage process. The system aims to simplify grading, increase efficiency, and…

Artificial Intelligence · Computer Science 2025-06-04 Tianyang Zhang , Zhuoxuan Jiang , Haotian Zhang , Lin Lin , Shaohua Zhang

Mechanical proofs by logical relations often involve tedious reasoning about substitution. In this paper, we show that this is not necessarily the case, by developing, in Agda, a proof that all simply typed lambda calculus expressions…

Programming Languages · Computer Science 2023-09-28 Emmanuel Suárez Acevedo , Stephanie Weirich

Program verifiers such as Dafny automate proofs by outsourcing them to an SMT solver. This automation is not perfect, however, and the solver often requires hints in the form of assertions, creating a burden for the proof engineer. In this…

Logic in Computer Science · Computer Science 2025-03-05 Eric Mugnier , Emmanuel Anaya Gonzalez , Ranjit Jhala , Nadia Polikarpova , Yuanyuan Zhou

Uniform proofs are sequent calculus proofs with the following characteristic: the last step in the derivation of a complex formula at any stage in the proof is always the introduction of the top-level logical symbol of that formula. We…

Logic in Computer Science · Computer Science 2014-11-17 Gopalan Nadathur

Software testing plays a critical role in ensuring that systems behave as intended. However, existing automated testing approaches struggle to match the capabilities of human engineers due to key limitations such as test locality, lack of…

Software Engineering · Computer Science 2025-06-16 Kangping Xu , Yifan Luo , Yang Yuan , Andrew Chi-Chih Yao

This paper presents the Soda language for verifying multi-agent systems. Soda is a high-level functional and object-oriented language that supports the compilation of its code not only to Scala, a strongly statically typed high-level…

Programming Languages · Computer Science 2025-03-11 Julian Alfredo Mendez , Timotheus Kampik

Auto-active verifiers provide a level of automation intermediate between fully automatic and interactive: users supply code with annotations as input while benefiting from a high level of automation in the back-end. This paper presents…

Logic in Computer Science · Computer Science 2015-09-01 Julian Tschannen , Carlo A. Furia , Martin Nordio , Nadia Polikarpova

Linear Logic refines Intuitionnistic Logic by taking into account the resources used during the proof and program computation. In the past decades, it has been extended to various frameworks. The most famous are indexed linear logics which…

Logic in Computer Science · Computer Science 2026-01-14 Flavien Breuvart , Marie Kerjean , Simon Mirwasser

Separation Logic (SL) with inductive definitions is a natural formalism for specifying complex recursive data structures, used in compositional verification of programs manipulating such structures. The key ingredient of any automated…

Logic in Computer Science · Computer Science 2014-02-12 Radu Iosif , Adam Rogalewicz , Tomas Vojnar

We apply program verification technology to the problem of specifying and verifying automatic differentiation (AD) algorithms. We focus on define-by-run, a style of AD where the program that must be differentiated is executed and monitored…

Logic in Computer Science · Computer Science 2024-02-14 Paulo Emílio de Vilhena , François Pottier

Inductive theorem provers often diverge. This paper describes a simple critic, a computer program which monitors the construction of inductive proofs attempting to identify diverging proof attempts. Divergence is recognized by means of a…

Artificial Intelligence · Computer Science 2014-11-17 T. Walsh

Software model checking constitutes an undecidable problem and, as such, even an ideal tool will in some cases fail to give a conclusive answer. In practice, software model checkers fail often and usually do not provide any information on…

Software Engineering · Computer Science 2017-08-21 Rodrigo Castaño , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel