English
Related papers

Related papers: Program Verification in the presence of complex nu…

200 papers

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

Since many real-world problems arising in the fields of compiler optimisation, automated software engineering, formal proof systems, and so forth are equivalent to the Halting Problem--the most notorious undecidable problem--there is a…

Information Theory · Computer Science 2007-07-13 Cristian S. Calude , Michael A. Stay

`What more than its truth do we know if we have a proof of a theorem in a given formal system?' We examine Kreisel's question in the particular context of program termination proofs, with an eye to deriving complexity bounds on program…

Logic in Computer Science · Computer Science 2014-09-26 Sylvain Schmitz

We discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method which should be well known but is often neglected. Also, we…

Logic in Computer Science · Computer Science 2017-01-31 Włodzimierz Drabent

Determining whether a program terminates is a central problem in computer science. Turing's Halting Problem established termination as undecidable, showing that no algorithm can universally determine termination for all programs and inputs.…

Computation and Language · Computer Science 2026-05-27 Oren Sultan , Jordi Armengol-Estape , Pascal Kesseli , Julien Vanegue , Dafna Shahaf , Yossi Adi , Peter O'Hearn

Challenging the standard notion of totality in computable functions, one has that, given any sufficiently expressive formal axiomatic system, there are total functions that, although computable and "intuitively" understood as being total,…

Logic in Computer Science · Computer Science 2020-09-03 Felipe S. Abrahão , Klaus Wehmuth , Artur Ziviani

The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of…

Programming Languages · Computer Science 2015-09-15 Jørgen Steensgaard-Madsen

Program completion is a translation from the language of logic programs into the language of first-order theories. Its original definition has been extended to programs that include integer arithmetic, accept input, and distinguish between…

Logic in Computer Science · Computer Science 2023-12-27 Jorge Fandinno , Vladimir Lifschitz , Nathan Temple

To solve hard problems, AI relies on a variety of disciplines such as logic, probabilistic reasoning, machine learning and mathematical programming. Although it is widely accepted that solving real-world problems requires an integration…

Artificial Intelligence · Computer Science 2020-01-14 Vaishak Belle , Luc De Raedt

Many fields of science rely on software systems to answer different research questions. For valid results researchers need to trust the results scientific software produces, and consequently quality assurance is of utmost importance. In…

Software Engineering · Computer Science 2019-06-24 Thomas Vogel , Stephan Druskat , Markus Scheidgen , Claudia Draxl , Lars Grunske

Software Model Checkers have shown outstanding performance improvements in recent times. Moreover, for specific use cases, formal verification techniques have shown to be highly effective, leading to a number of high-profile success…

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

Compilers can specialize programs having invariants for performance improvement. Detecting program invariants that span large and complex code, however, is difficult for compilers. Traditional compilers do not perform very expensive…

Programming Languages · Computer Science 2019-07-01 Wei He

When the inverse of an algorithm is well-defined -- that is, when its output can be deterministically transformed into the input producing it -- we say that the algorithm is invertible. While one can describe an invertible algorithm using a…

Programming Languages · Computer Science 2022-12-07 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

Formal methods yet advantageous, face challenges towards wide acceptance and adoption in software development practices. The major reason being presumed complexity. The issue can be addressed by academia with a thoughtful plan of teaching…

Software Engineering · Computer Science 2019-06-05 Mansur Khazeev , Manuel Mazzara , Daniel De Carvalho , Hamna Aslam

At our behest or otherwise, while our software is being executed, a huge variety of design assumptions is continuously matched with the truth of the current condition. While standards and tools exist to express and verify some of these…

Software Engineering · Computer Science 2016-05-09 Vincenzo De Florio

Complexity theory offers a variety of concise computational models for computing boolean functions - branching programs, circuits, decision trees and ordered binary decision diagrams to name a few. A natural question that arises in this…

Computational Complexity · Computer Science 2013-06-18 Netanel Raviv

The relationship between the complexity classes P and NP is a question that has not yet been answered by the Theory of Computation. The existence of a language in NP, proven not to belong to P, is sufficient evidence to establish the…

Computational Complexity · Computer Science 2014-07-08 Frank Vega Delgado

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

Verification of C++ programs has seen considerable progress in several areas, but not for programs that use these languages' mathematical libraries. The reason is that all libraries in widespread use come with no guarantees about the…

Programming Languages · Computer Science 2022-06-23 Roberto Bagnara , Michele Chiari , Roberta Gori , Abramo Bagnara

An approximate program transformation is a transformation that can change the semantics of a program within a specified empirical error bound. Such transformations have wide applications: they can decrease computation time, power…

Programming Languages · Computer Science 2013-04-23 Edwin Westbrook , Swarat Chaudhuri