English
Related papers

Related papers: Functions as types or the "Hoare logic" of functio…

200 papers

We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a language of finitely supported boolean functions. Finite…

Programming Languages · Computer Science 2026-04-30 Michael Arntzenius , Max Willsey

Databases have been studied category-theoretically for decades. The database schema -- whose purpose is to arrange high-level conceptual entities -- is generally modeled as a category or sketch. The data itself, often called an instance, is…

Category Theory · Mathematics 2025-01-20 Patrick Schultz , David I. Spivak , Christina Vasilakopoulou , Ryan Wisnesky

Relational Hoare logics (RHL) provide rules for reasoning about relations between programs. Several RHLs include a rule we call sequential product that infers a relational correctness judgment from judgments of ordinary Hoare logic (HL).…

Logic in Computer Science · Computer Science 2021-05-03 Ramana Nagasamudram , David A. Naumann

Verifying a real-world program's functional correctness can be decomposed into (1) a refinement proof showing that the program implements a more abstract high-level program and (2) an algorithm correctness proof at the high level.…

Programming Languages · Computer Science 2025-08-22 Shushu Wu , Xiwei Wu , Qinxiang Cao

This work proposes a dependent type theory that combines functions and session-typed processes (with value dependencies) through a contextual monad, internalising typed processes in a dependently-typed lambda-calculus. The proposed…

Programming Languages · Computer Science 2018-01-25 Bernardo Toninho , Nobuko Yoshida

We propose a new approach to formally describing the requirement for statistical inference and checking whether a program uses the statistical method appropriately. Specifically, we define belief Hoare logic (BHL) for formalizing and…

Artificial Intelligence · Computer Science 2023-12-05 Yusuke Kawamoto , Tetsuya Sato , Kohei Suenaga

Many natural program correctness properties can be stated in terms of symmetries, but existing formal methods have little support for reasoning about such properties. We consider how to formally verify a broad class of symmetry properties…

Programming Languages · Computer Science 2025-09-04 Vaibhav Mehta , Justin Hsu

Hoare's logic is an axiomatic system of proving programs correct, which has been extended to be a separation logic to reason about mutable heap structure. We develop the most fundamental logical structure of strongest postcondition of…

Logic in Computer Science · Computer Science 2013-11-20 Zhaowei Xu

There has been a considerable amount of work on retrieving functions in function libraries using their type as search key. The availability of rich component specifications, in the form of behavioral types, enables similar queries where one…

Logic in Computer Science · Computer Science 2014-06-16 Mariangiola Dezani-Ciancaglini , Luca Padovani , Jovanka Pantovic

This article presents a type-based analysis for deriving upper bounds on the expected execution cost of probabilistic programs. The analysis is naturally compositional, parametric in the cost model, and supports higher order functions and…

Programming Languages · Computer Science 2020-09-23 Di Wang , David M Kahn , Jan Hoffmann

Linear algebra computations are foundational for neural networks and machine learning, often handled through arrays. While many functional programming languages feature lists and recursion, arrays in linear algebra demand constant-time…

Programming Languages · Computer Science 2024-05-29 David Richter , Timon Böhler , Pascal Weisenburger , Mira Mezini

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

We propose a method to adapt functional logic programming to deal with reasoning on coinductively interpreted programs as well as on inductively interpreted programs. In order to do so, we consider a class of objects interesting for this…

Programming Languages · Computer Science 2012-03-06 Ronald de Haan

Following the types-as-sets paradigm, we present a mechanized embedding of dependent function types with a hierarchy of universes into schematic first-order logic with equality, with axiom schemas of Tarski-Grothendieck set theory. We carry…

Logic in Computer Science · Computer Science 2026-03-16 Yunsong Yang , Simon Guilloud , Viktor Kunčak

In view of the paradigm shift that makes science ever more data-driven, in this paper we consider deterministic scientific hypotheses as uncertain data. In the form of mathematical equations, hypotheses symmetrically relate aspects of the…

Databases · Computer Science 2014-11-20 Bernardo Gonçalves , Fabio Porto

Functional programming comes in two flavours: one where ``functions are first-class citizens'' (we call this applicative) and one which is based on equations (we call this declarative). In relational programming clauses play the role of…

Programming Languages · Computer Science 2007-05-23 H. Ibrahim , M. H. van Emden

Separation Logic is an effective Program Logic for proving programs that involve pointers. Reasoning with pointers becomes difficult especially when there is aliasing arising due to several pointers to a given cell location. In this paper,…

Logic in Computer Science · Computer Science 2017-04-07 Abhishek Kr Singh , Raja Natrajan

Rule-based reasoning is an essential part of human intelligence prominently formalized in artificial intelligence research via logic programs. Describing complex objects as the composition of elementary ones is a common strategy in computer…

Artificial Intelligence · Computer Science 2023-12-15 Christian Antic

This article provides an algebraic study of intermediate inquisitive and dependence logics. While these logics are usually investigated using team semantics, here we introduce an alternative algebraic semantics and we prove it is complete…

Logic · Mathematics 2023-03-21 Davide Emilio Quadrellaro

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo