English
Related papers

Related papers: Zero-Cost Coercions for Program and Proof Reuse

200 papers

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

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 present {\lambda}ert, a type theory supporting refinement types with explicit proofs. Instead of solving refinement constraints with an SMT solver like DML and Liquid Haskell, our system requires and permits programmers to embed proofs…

Programming Languages · Computer Science 2023-11-27 Jad Elkhaleq Ghalayini , Neel Krishnaswami

Recently, there has been extensive research on the capabilities of biologically plausible algorithms. In this work, we show how one of such algorithms, called predictive coding, is able to perform causal inference tasks. First, we show how…

Machine Learning · Computer Science 2024-06-04 Tommaso Salvatori , Luca Pinchetti , Amine M'Charrak , Beren Millidge , Thomas Lukasiewicz

The goal of algorithmic recourse is to reverse unfavorable decisions (e.g., from loan denial to approval) under automated decision making by suggesting actionable feature changes (e.g., reduce the number of credit cards). To generate…

Machine Learning · Computer Science 2022-11-07 Martin Pawelczyk , Lea Tiyavorabun , Gjergji Kasneci

Motivated by algorithmic information theory, the problem of program discovery can help find candidates of underlying generative mechanisms of natural and artificial phenomena. The uncomputability of such inverse problem, however,…

Information Theory · Computer Science 2021-12-29 Vladimir Lemusa , Eduardo Acuña , Víctor Zamora , Francisco Hernandez-Quiroz , Hector Zenil

Dependently typed programming languages have become increasingly relevant in recent years. They have been adopted in industrial strength programming languages and have been extremely successful as the basis for theorem provers. There are…

Programming Languages · Computer Science 2024-04-09 Christophe Scholliers

We present a first-order theorem proving framework for establishing the correctness of functional programs implementing sorting algorithms with recursive data structures. We formalize the semantics of recursive programs in many-sorted…

Logic in Computer Science · Computer Science 2024-03-07 Pamina Georgiou , Márton Hajdu , Laura Kovács

We present a functional programming language for specifying constraints over tree-shaped data. The language allows for Haskell-like algebraic data types and pattern matching. Our constraint compiler CO4 translates these programs into…

Programming Languages · Computer Science 2013-05-24 Alexander Bau , Johannes Waldmann

We present new results on the classical algorithm of variable elimination, which underlies many algorithms including for probabilistic inference. The results relate to exploiting functional dependencies, allowing one to perform inference…

Artificial Intelligence · Computer Science 2020-04-21 Adnan Darwiche

We present a novel and well automatable approach to formal verification of C programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

Programming Languages · Computer Science 2022-08-10 Eduard Kamburjan , Nathan Wasser

We present an automated reasoning framework for synthesizing recursion-free programs using saturation-based theorem proving. Given a functional specification encoded as a first-order logical formula, we use a first-order theorem prover to…

Logic in Computer Science · Computer Science 2024-03-01 Petra Hozzová , Laura Kovács , Chase Norman , Andrei Voronkov

Inductive datatypes in programming languages allow users to define useful data structures such as natural numbers, lists, trees, and others. In this paper we show how inductive datatypes may be added to the quantum programming language QPL.…

Logic in Computer Science · Computer Science 2021-03-19 Romain Péchoux , Simon Perdrix , Mathys Rennela , Vladimir Zamdzhiev

Low-resource Relation Extraction (LRE) aims to extract relation facts from limited labeled corpora when human annotation is scarce. Existing works either utilize self-training scheme to generate pseudo labels that will cause the gradual…

Computation and Language · Computer Science 2021-09-15 Xuming Hu , Chenwei Zhang , Yawen Yang , Xiaohe Li , Li Lin , Lijie Wen , Philip S. Yu

Constructor rewriting systems are said to be cons-free if, roughly, constructor terms in the right-hand sides of rules are subterms of constructor terms in the left-hand side; the computational intuition is that rules cannot build new data…

Computational Complexity · Computer Science 2016-05-02 Cynthia Kop , Jakob Grue Simonsen

Implicit computational complexity, which aims at characterizing complexity classes by machine-independent means, has traditionally been based, on the one hand, on programs and deductive formalisms for free algebras, and on the other hand on…

Logic in Computer Science · Computer Science 2018-02-12 Daniel Leivant , Jean-Yves Marion

This paper proposes a modal typing system that enables us to handle self-referential formulae, including ones with negative self-references, which on one hand, would introduce a logical contradiction, namely Russell's paradox, in the…

Logic in Computer Science · Computer Science 2017-03-30 Hiroshi Nakano

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

Logic in Computer Science · Computer Science 2017-08-25 G. W. Hamilton

Automatic verification of concurrent programs faces state explosion due to the exponential possible interleavings of its sequential components coupled with large or infinite state spaces. An alternative is deductive verification, where…

Programming Languages · Computer Science 2024-01-01 Yuan Xia , Jyotirmoy V. Deshmukh , Mukund Raghothaman , Srivatsan Ravi

We consider the problem of refuting equivalence of probabilistic programs, i.e., the problem of proving that two probabilistic programs induce different output distributions. We study this problem in the context of programs with…

Programming Languages · Computer Science 2025-01-14 Krishnendu Chatterjee , Ehsan Kafshdar Goharshady , Petr Novotný , Đorđe Žikelić