English
Related papers

Related papers: Coinductive big-step operational semantics

200 papers

Formal semantics offers a complete and rigorous definition of a language. It is important to define different semantic models for a language and different models serve different purposes. Building equivalence between different semantic…

Logic in Computer Science · Computer Science 2010-02-18 Shamim H. Ripon , Michael Butler

We present a Coq formalisation of the small-step operational semantics of Jafun, a small Java-like language with classes. This format of semantics makes it possible to naturally specify and prove invariants that should hold at each…

Logic in Computer Science · Computer Science 2018-08-17 Aleksy Schubert , Jacek Chrząszcz

We propose a call-by-value lambda calculus extended with a new construct inspired by abductive inference and motivated by the programming idioms of machine learning. Although syntactically simple the abductive construct has a complex and…

Programming Languages · Computer Science 2017-10-12 Koko Muroya , Steven Cheung , Dan R. Ghica

We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries…

Programming Languages · Computer Science 2017-09-15 Luca Franceschini , Davide Ancona , Ekaterina Komendantskaya

We formulate a framework for describing behaviour of effectful higher-order recursive programs. Examples of effects are implemented using effect operations, and include: execution cost, nondeterminism, global store and interaction with a…

Logic in Computer Science · Computer Science 2021-12-30 Niccolò Veltri , Niels F. W. Voorneveld

The compactness lemma in programming language theory states that any recursive function can be simulated by a finite unrolling of the function. One important use case it has is in the logical relations proof technique for proving properties…

Programming Languages · Computer Science 2024-05-06 Matias Scharager

We describe our experience implementing a broad category-theory library in Coq. Category theory and computational performance are not usually mentioned in the same breath, but we have needed substantial engineering effort to teach Coq to…

Category Theory · Mathematics 2022-05-04 Jason Gross , Adam Chlipala , David I. Spivak

This note formally defines the concept of coinductive validity of judgements, and contrasts it with inductive validity. For both notions it shows how a judgement is valid iff it has a formal proof. Finally, it defines and illustrates the…

Logic in Computer Science · Computer Science 2021-04-28 Rob van Glabbeek

In this article we present a method for formally proving the correctness of the lazy algorithms for computing homographic and quadratic transformations -- of which field operations are special cases-- on a representation of real numbers by…

Logic in Computer Science · Computer Science 2015-07-01 Milad Niqui

With one exception, our previous work on recurrence extraction and denotational semantics has focused on a source language that supports inductive types and structural recursion. The exception handles general recursion via an initial…

Programming Languages · Computer Science 2022-08-08 Norman Danner

The operational semantics of a programming language is said to be small-step if each transition step is an atomic computation step in the language. A semantics with this property faithfully corresponds to the implementation of the language.…

Programming Languages · Computer Science 2021-12-22 Brian Courtehoute , Detlef Plump

We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic…

Programming Languages · Computer Science 2017-09-26 Davide Ancona , Francesco Dagnino , Elena Zucca

Temporal logics for hyperproperties have recently emerged as an expressive specification technique for relational properties of reactive systems. While the model checking problem for such logics has been widely studied, there is a scarcity…

Programming Languages · Computer Science 2025-01-15 Arthur Correnson , Bernd Finkbeiner

We establish proof-theoretic, constructive and coalgebraic foundations for proof search in coinductive Horn clause theories. Operational semantics of coinductive Horn clause resolution is cast in terms of coinductive uniform proofs; its…

Logic in Computer Science · Computer Science 2022-03-16 Henning Basold , Ekaterina Komendantskaya , Yue Li

Coinduction occurs in two guises in Horn clause logic: in proofs of circular properties and relations, and in proofs involving construction of infinite data. Both instances of coinductive reasoning appeared in the literature before, but a…

Logic in Computer Science · Computer Science 2019-03-19 Ekaterina Komendantskaya , Yue Li

The set of integer number lists with finite length, and the set of binary trees with integer labels are both countably infinite. Many inductively defined types also have countably many elements. In this paper, we formalize the syntax of…

Logic in Computer Science · Computer Science 2021-07-19 Qinxiang Cao , Xiwei Wu

interpreters are tools to compute approximations for behaviors of a program. These approximations can then be used for optimisation or for error detection. In this paper, we show how to describe an abstract interpreter using the type-theory…

Logic in Computer Science · Computer Science 2008-10-20 Yves Bertot

To ensure decidability and consistency of its type theory, a proof assistant should only accept terminating recursive functions and productive corecursive functions. Most proof assistants enforce this through syntactic conditions, which can…

Logic in Computer Science · Computer Science 2026-05-01 Bastiaan Laarakker , Daniël Otten , Benno van den Berg

Based on a new coinductive characterization of continuous functions we extract certified programs for exact real number computation from constructive proofs. The extracted programs construct and combine exact real number algorithms with…

Logic in Computer Science · Computer Science 2015-07-01 Ulrich Berger

The logic of bunched implications (BI) is a substructural logic that forms the backbone of separation logic, the much studied logic for reasoning about heap-manipulating programs. Although the proof theory and metatheory of BI are…

Logic in Computer Science · Computer Science 2021-12-13 Dan Frumin