English
Related papers

Related papers: The nature of loops in programming

200 papers

This paper presents a Hoare-style calculus for formal reasoning about reconfiguration programs of distributed systems. Such programs create and delete components and/or interactions (connectors) while the system components change state…

Logic in Computer Science · Computer Science 2022-03-17 Emma Ahrens , Marius Bozga , Radu Iosif , Joost-Pieter Katoen

Automated analysis of recursive derivations in logic programming is known to be a hard problem. Both termination and non-termination are undecidable problems in Turing-complete languages. However, some declarative languages offer a…

Programming Languages · Computer Science 2016-08-22 E. Komendantskaya , P. Johann , M. Schmidt

In this paper, we study classes of structures and individual structures for which programs implementing functions defined everywhere are equivalent to finite tree-programs. The programs under consideration may have cycles and at most…

Logic in Computer Science · Computer Science 2025-01-06 Mikhail Moshkov

Linear logic was conceived in 1987 by Girard and, in contrast to classical logic, restricts the usage of the structural inference rules of weakening and contraction. With this, atoms of the logic are no longer interpreted as truth, but as…

Logic in Computer Science · Computer Science 2021-10-04 Florian Chudigiewitsch

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

If no optimal propositional proof system exists, we (and independently Pudl\'ak) prove that ruling out length $t$ proofs of any unprovable sentence is hard. This mapping from unprovable to hard-to-prove sentences powerfully translates facts…

Computational Complexity · Computer Science 2023-04-04 Hunter Monroe

Program analysis requires the generation of program properties expressing conditions to hold at intermediate program locations. When it comes to programs with loops, these properties are typically expressed as loop invariants. In this paper…

Programming Languages · Computer Science 2018-01-15 Andreas Humenberger , Maximilian Jaroschek , Laura Kovács

Partial incorrectness logic (partial reverse Hoare logic) has recently been introduced as a new Hoare-style logic that over-approximates the weakest pre-conditions of a program and a post-condition. It is expected to verify systems where…

Logic in Computer Science · Computer Science 2025-03-03 Yukihiro Oda

Over the past few decades, non-monotonic reasoning has developed to be one of the most important topics in computational logic and artificial intelligence. Different ways to introduce non-monotonic aspects to classical logic have been…

Computational Complexity · Computer Science 2010-09-13 Michael Thomas , Heribert Vollmer

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

We consider two classes of computations which admit taking linear combinations of execution runs: probabilistic sampling and generalized animation. We argue that the task of program learning should be more tractable for these architectures…

Logic in Computer Science · Computer Science 2015-12-17 Michael Bukatin , Steve Matthews

Starting with Hoare Logic over 50 years ago, numerous program logics have been devised to reason about the diverse programs encountered in the real world. This includes reasoning about computational effects, particularly those effects that…

Logic in Computer Science · Computer Science 2025-06-11 Noam Zilberstein

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

The problem of inverting a system in presence of a series-defined output is analyzed. Inverse models are derived that consist of a set of algebraic equations. The inversion is performed explicitly for an output trajectory functional, which…

Systems and Control · Computer Science 2012-11-27 Jean-Francois Stumper , Ralph Kennel

Loop acceleration can be used to prove safety, reachability, runtime bounds, and (non-)termination of programs. To this end, a variety of acceleration techniques has been proposed. However, so far all of them have been monolithic, i.e., a…

Logic in Computer Science · Computer Science 2022-06-09 Florian Frohn , Carsten Fuhs

Twenty years ago, in an article titled "Covariance and contravariance: conflict without a cause", I argued that covariant and contravariant specialization of method parameters in object-oriented programming had different purposes and…

Programming Languages · Computer Science 2023-06-22 Giuseppe Castagna

We introduce a set of eight universal Rules of Inference by which computer programs with known properties (axioms) are transformed into new programs with known properties (theorems). Axioms are presented to formalize a segment of Number…

Logic in Computer Science · Computer Science 2007-05-23 Charlie Volkstorf

An algebraic method is used to study the semantics of exceptions in computer languages. The exceptions form a computational effect, in the sense that there is an apparent mismatch between the syntax of exceptions and their intended…

Logic in Computer Science · Computer Science 2012-10-30 Jean-Guillaume Dumas , Dominique Duval , Laurent Fousse , Jean-Claude Reynaud

The logical connectives typically found in programming languages are similar to their mathematical counterparts, yet different due to their short-circuit behaviour -- when evaluating them, the second argument is only evaluated if the first…

Logic in Computer Science · Computer Science 2015-10-20 Sander in 't Veld

An important use of computational systems is updating the state of an object while preserving some set of invariants. That object might be a file, a row in a database, or perhaps an entry in a distributed system. Its invariants may place…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-30 Kris Coward , D. R. Toliver