English
Related papers

Related papers: Recalling a Witness: Foundations and Applications …

200 papers

We introduce an extension of first-order logic that comes equipped with additional predicates for reasoning about an abstract state. Sequents in the logic comprise a main formula together with pre- and postconditions in the style of Hoare…

Logic in Computer Science · Computer Science 2024-08-07 Thomas Powell

Most type systems that support polymorphic functions are based on a version of System-F. We argue that this limits useful programming paradigms for languages with lazy evaluation. We motivate an extension of System-F alleviating this…

Programming Languages · Computer Science 2016-12-15 S. Doaitse Swierstra , Marcos Viera , Atze Dijkstra

In this paper we use pre existing language support for type modifiers and object capabilities to enable a system for sound runtime verification of invariants. Our system guarantees that class invariants hold for all objects involved in…

Programming Languages · Computer Science 2019-02-28 Isaac Oscar Gariano , Marco Servetto , Alex Potanin

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…

We study a proof methodology for verifying the safety of data invariants of highly-available distributed applications that replicate state. The proof is (1) modular: one can reason about each individual operation separately, and (2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-08 Sreeja Nair , Gustavo Petri , Marc Shapiro

Self-Consistency samples diverse reasoning chains with answers and chooses the final answer by majority voting. It is based on forward reasoning and cannot further improve performance by sampling more reasoning chains when saturated. To…

Computation and Language · Computer Science 2024-06-06 Weisen Jiang , Han Shi , Longhui Yu , Zhengying Liu , Yu Zhang , Zhenguo Li , James T. Kwok

One can perform equational reasoning about computational effects with a purely functional programming language thanks to monads. Even though equational reasoning for effectful programs is desirable, it is not yet mainstream. This is partly…

Logic in Computer Science · Computer Science 2025-01-15 Reynald Affeldt , Jacques Garrigue , Takafumi Saikawa

Typestate systems are notoriously complex as they require sophisticated machinery for tracking aliasing. We propose a new, transition-oriented foundation for typestate in the setting of impure functional programming. Our approach relies on…

Programming Languages · Computer Science 2024-09-27 Hannes Saffrich , Yuki Nishida , Peter Thiemann

We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and…

Logic in Computer Science · Computer Science 2020-03-25 Jad Hamza , Nicolas Voirol , Viktor Kunčak

Given a programming language, can we give a monadic denotational semantics that is stable under language extension? Models containing only a single monad are not stable. Models based on type-and-effect systems, in which there is a monad for…

Programming Languages · Computer Science 2017-07-24 Ohad Kammar , Dylan McDermott

This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad. We prove that any monad morphism…

Programming Languages · Computer Science 2019-06-27 Kenji Maillard , Danel Ahman , Robert Atkey , Guido Martinez , Catalin Hritcu , Exequiel Rivas , Éric Tanter

There is a recent interest for the verification of monadic programs using proof assistants. This line of research raises the question of the integration of monad transformers, a standard technique to combine monads. In this paper, we extend…

Logic in Computer Science · Computer Science 2021-07-20 Reynald Affeldt , David Nowak

Reasoning in large language models is often discussed as a single capability, but some of its gains may stem from simpler underlying operations. We examine two such primitives, recall and state-tracking, through five controlled task…

Computation and Language · Computer Science 2026-05-27 Shivam Rawat , Lucie Flek , Florian Mai , Nicholas Kluge Corrêa

The use of monoids in the study of word languages recognized by finite-state automata has been quite fruitful. In this work, we look at the same idea of "recognizability by finite monoids" for other monoids. In particular, we attempt to…

Formal Languages and Automata Theory · Computer Science 2025-02-12 Pranshu Gaba , Arnab Sur

We argue that verification of recursive programs by means of the assertional method of C.A.R. Hoare can be conceptually simplified using a modular reasoning. In this approach some properties of the program are established first and…

Logic in Computer Science · Computer Science 2009-07-27 Krzysztof R. Apt , Frank S. de Boer , Ernst-Rüdiger Olderog

Belief revision has been studied mainly with respect to background logics that are monotonic in character. In this paper we study belief revision when the underlying logic is non-monotonic instead--an inherently interesting problem that is…

Artificial Intelligence · Computer Science 2016-04-05 Zhiqiang Zhuang , James Delgrande , Abhaya Nayak , Abdul Sattar

We develop a logical framework for reasoning about knowledge and evidence in which the agent may be uncertain about how to interpret their evidence. Rather than representing an evidential state as a fixed subset of the state space, our…

Logic in Computer Science · Computer Science 2019-07-23 Adam Bjorndahl , Aybüke Özgün

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta

In the past decade, many techniques have been developed to prove linearizability, the gold standard of correctness for concurrent data structures. Intuitively, linearizability requires that every operation on a concurrent data structure…

Programming Languages · Computer Science 2025-09-09 Zachary Kent , Ugur Y. Yavuz , Siddhartha Jayanti , Stephanie Balzer , Guy Blelloch

We introduce SecRef*, a secure compilation framework protecting stateful programs verified in F* against linked unverified code, with which the program dynamically shares ML-style mutable references. To ease program verification in this…

‹ Prev 1 2 3 10 Next ›