English
Related papers

Related papers: Programming and Reasoning with Guarded Recursion f…

200 papers

Guarded recursion is a framework allowing for a formalisation of streams in classical programming languages. The latter take their semantics in cartesian closed categories. However, some programming paradigms do not take their semantics in…

Logic in Computer Science · Computer Science 2025-03-05 Louis Lemonnier

A temporal logic is presented for reasoning about the correctness of timed concurrent constraint programs. The logic is based on modalities which allow one to specify what a process produces as a reaction to what its environment inputs.…

Logic in Computer Science · Computer Science 2007-05-23 F. S. de Boer , M. Gabbrielli , M. C. Meo

Guided by Tarksi's fixpoint theorem in order theory, we show how to derive monotone recursive types with constant-time roll and unroll operations within Cedille, an impredicative, constructive, and logically consistent pure typed lambda…

Programming Languages · Computer Science 2023-06-22 Christopher Jenkins , Aaron Stump

We introduce a sound and complete coinductive proof system for reachability properties in transition systems generated by logically constrained term rewriting rules over an order-sorted signature modulo builtins. A key feature of the…

Logic in Computer Science · Computer Science 2018-04-24 Ştefan Ciobâcă , Dorel Lucanu

A class of models is presented, in the form of continuation monads polymorphic for first-order individuals, that is sound and complete for minimal intuitionistic predicate logic. The proofs of soundness and completeness are constructive and…

Logic · Mathematics 2014-11-04 Danko Ilik

Dependently typed languages such as Coq are used to specify and verify the full functional correctness of source programs. Type-preserving compilation can be used to preserve these specifications and proofs of correctness through…

Programming Languages · Computer Science 2018-08-14 William J. Bowman , Amal Ahmed

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

We present a formalization of a version of Abadi and Plotkin's logic for parametricity for a polymorphic dual intuitionistic/linear type theory with fixed points, and show, following Plotkin's suggestions, that it can be used to define a…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Rasmus E. Møgelberg , Rasmus Lerchedahl Petersen

We present a polymorphic linear lambda-calculus as a proof language for second-order intuitionistic linear logic. The calculus includes addition and scalar multiplication, enabling the proof of a linearity result at the syntactic level.

Logic in Computer Science · Computer Science 2024-06-19 Alejandro Díaz-Caro , Gilles Dowek , Malena Ivnisky , Octavio Malherbe

While methods of code abstraction and reuse are widespread and well researched, methods of proof abstraction and reuse are still emerging. We consider the use of dependent types for this purpose, introducing a completely mechanical approach…

Programming Languages · Computer Science 2012-08-03 Christopher Schwaab , Jeremy G. Siek

Probabilistic applicative bisimulation is a recently introduced coinductive methodology for program equivalence in a probabilistic, higher-order, setting. In this paper, the technique is applied to a typed, call-by-value, lambda-calculus.…

Logic in Computer Science · Computer Science 2014-01-30 Raphaelle Crubille , Ugo Dal Lago

Containers capture the concept of strictly positive data types in programming. The original development of containers is done in the internal language of locally cartesian closed categories (LCCCs) with disjoint coproducts and W-types, and…

Logic in Computer Science · Computer Science 2025-07-08 Stefania Damato , Thorsten Altenkirch , Axel Ljungström

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

We introduce a linear infinitary $\lambda$-calculus, called $\ell\Lambda_{\infty}$, in which two exponential modalities are available, the first one being the usual, finitary one, the other being the only construct interpreted…

Logic in Computer Science · Computer Science 2016-04-29 Ugo Dal Lago

Relational descriptions have been used in formalizing diverse computational notions, including, for example, operational semantics, typing, and acceptance by non-deterministic machines. We therefore propose a (restricted) logical theory…

Logic in Computer Science · Computer Science 2010-09-02 Andrew Gacek , Dale Miller , Gopalan Nadathur

With sound unification, Definite Clause Grammars and compact expression of combinatorial generation algorithms, logic programming is shown to conveniently host a declarative playground where interesting properties and behaviors emerge from…

Logic in Computer Science · Computer Science 2015-07-27 Paul Tarau

Coroutine, as a powerful programming construct, is widely used in asynchronous applications to replace thread-based programming or the callback hell. Using coroutines makes code more readable and maintainable, for its ability to transfer…

Programming Languages · Computer Science 2026-02-24 Qiqi Gu , Wei Ke

The lambda calculus with constructors is an extension of the lambda calculus with variadic constructors. It decomposes the pattern-matching a la ML into a case analysis on constants and a commutation rule between case and application…

Logic in Computer Science · Computer Science 2012-03-06 Barbara Petit

Notions of guardedness serve to delineate the admissibility of cycles, e.g. in recursion, corecursion, iteration, or tracing. We introduce an abstract notion of guardedness structure on a symmetric monoidal category, along with a…

Logic in Computer Science · Computer Science 2018-02-27 Sergey Goncharov , Lutz Schröder

Despite a growing body of work at the intersection of deep learning and formal languages, there has been relatively little systematic exploration of transformer models for reasoning about typed lambda calculi. This is an interesting area of…

Programming Languages · Computer Science 2023-04-21 Brando Miranda , Avi Shinnar , Vasily Pestun , Barry Trager