English
Related papers

Related papers: The nature of loops in programming

200 papers

We present an extension to the $\mathtt{mathlib}$ library of the Lean theorem prover formalizing the foundations of computability theory. We use primitive recursive functions and partial recursive functions as the main objects of study, and…

Logic in Computer Science · Computer Science 2019-07-19 Mario Carneiro

Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of…

Logic in Computer Science · Computer Science 2023-05-30 Jorge Fandinno , Zachary Hansen , Yuliya Lierler , Vladimir Lifschitz , Nathan Temple

Making a linguistic theory is like making a programming language: one typically devises a type system to delineate the acceptable utterances and a denotational semantics to explain observations on their behavior. Via this connection, the…

Computation and Language · Computer Science 2007-05-23 Chung-chieh Shan

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

Invariants withstand transformations and, therefore, represent the essence of objects or phenomena. In mathematics, transformations often constitute a group action. Since the 19th century, studying the structure of various types of…

Symbolic Computation · Computer Science 2024-12-19 Irina A. Kogan

We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the…

Logic in Computer Science · Computer Science 2007-06-13 Greta Yorsh , Alexander Rabinovich , Mooly Sagiv , Antoine Meyer , Ahmed Bouajjani

Fair termination is the property of programs that may diverge "in principle" but that terminate "in practice", i.e. under suitable fairness assumptions concerning the resolution of non-deterministic choices. We study a conservative…

Logic in Computer Science · Computer Science 2022-07-11 Luca Ciccone , Luca Padovani

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

We present a novel technique for proving program termination which introduces a new dimension of modularity. Existing techniques use the program to incrementally construct a termination proof. While the proof keeps changing, the program…

Logic in Computer Science · Computer Science 2015-05-26 Pierre Ganty , Samir Genaim

Justification theory is an abstract unifying formalism that captures semantics of various non-monotonic logics. One intriguing problem that has received significant attention is the consistency problem: under which conditions are…

Artificial Intelligence · Computer Science 2022-08-08 Simon Marynissen , Bart Bogaerts

Abduction is a fundamental and important form of non-monotonic reasoning. Given a knowledge base explaining how the world behaves it aims at finding an explanation for some observed manifestation. In this paper we focus on propositional…

Computational Complexity · Computer Science 2010-06-29 Nadia Creignou , Johannes Schmidt , Michael Thomas

The syntactic nature of logic and computation separates them from other fields of mathematics. Nevertheless, syntax has been the only way to adequately capture the dynamics of proofs and programs such as cut-elimination, and the finiteness…

Logic · Mathematics 2023-06-14 Norihiro Yamada

A new technique is presented to prove non-termination of term rewriting. The basic idea is to find a non-empty regular language of terms that is closed under rewriting and does not contain normal forms. It is automated by representing the…

Logic in Computer Science · Computer Science 2015-05-05 Jörg Endrullis , Hans Zantema

We propose trace logic, an instance of many-sorted first-order logic, to automate the partial correctness verification of programs containing loops. Trace logic generalizes semantics of program locations and captures loop semantics by…

Logic in Computer Science · Computer Science 2020-08-07 Pamina Georgiou , Bernhard Gleiss , Laura Kovács

Matching logic is a logical framework for specifying and reasoning about programs using pattern matching semantics. A pattern is made up of a number of structural components and constraints. Structural components are syntactically matched,…

Logic in Computer Science · Computer Science 2024-11-01 Ádám Kurucz , Péter Bereczky , Dániel Horpácsi

We describe the LoopInvGen tool for generating loop invariants that can provably guarantee correctness of a program with respect to a given specification. LoopInvGen is an efficient implementation of the inference technique originally…

Programming Languages · Computer Science 2019-11-01 Saswat Padhi , Rahul Sharma , Todd Millstein

A new syntactic characterization of problems complete via Turing reductions is presented. General canonical forms are developed in order to define such problems. One of these forms allows us to define complete problems on ordered…

Computational Complexity · Computer Science 2014-11-25 Vladimir Naidenko

Sequence rotation consists of a circular shift of the sequence's elements by a given number of positions. We present the four classic algorithms to rotate a sequence; the loop invariants underlying their correctness; detailed correctness…

Logic in Computer Science · Computer Science 2015-02-06 Carlo A. Furia

In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving,…

Logic in Computer Science · Computer Science 2015-09-01 Cristina David , Daniel Kroening , Matt Lewis

Quantitative loop invariants are an essential element in the verification of probabilistic programs. Recently, multivariate Lagrange interpolation has been applied to synthesizing polynomial invariants. In this paper, we propose an…

Logic in Computer Science · Computer Science 2017-07-11 Yijun Feng , Lijun Zhang , David N. Jansen , Naijun Zhan , Bican Xia
‹ Prev 1 4 5 6 7 8 10 Next ›