English
Related papers

Related papers: Constraint-Based Synthesis of Coupling Proofs

200 papers

The use of function contracts to specify the behavior of functions often remains limited to the scope of a single function call. Relational properties link several function calls together within a single specification. They can express more…

Software Engineering · Computer Science 2022-05-18 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

We define a probabilistic programming language for Gaussian random variables with a first-class exact conditioning construct. We give operational, denotational and equational semantics for this language, establishing convenient properties…

Programming Languages · Computer Science 2021-01-28 Dario Stein , Sam Staton

A central goal of probabilistic programming languages (PPLs) is to separate modelling from inference. However, this goal is hard to achieve in practice. Users are often forced to re-write their models in order to improve efficiency of…

Programming Languages · Computer Science 2022-02-21 Maria I. Gorinova , Andrew D. Gordon , Charles Sutton , Matthijs Vákár

Effective program synthesis requires a way to minimise the number of candidate programs being searched. A type signature, for example, places some small restrictions on the structure of potential candidates. We introduce and motivate a…

Programming Languages · Computer Science 2019-07-15 Bruce Collie , Michael O'Boyle

This paper investigates the algorithmic safety verification problem of infinite-state parameterized concurrent programs over a rich set of communication topologies. The goal is to automatically produce a proof of correctness in the form of…

Logic in Computer Science · Computer Science 2026-05-15 Ruotong Cheng , Azadeh Farzan

This paper addresses the problem of creating simplifiers for logic formulas based on conditional term rewriting. In particular, the paper focuses on a program synthesis application where formula simplifications have been shown to have a…

Programming Languages · Computer Science 2016-02-24 Rohit Singh , Armando Solar-Lezama

This paper describes a deductive approach to synthesizing imperative programs with pointers from declarative specifications expressed in Separation Logic. Our synthesis algorithm takes as input a pair of assertions---a pre- and a…

Programming Languages · Computer Science 2018-11-12 Nadia Polikarpova , Ilya Sergey

Probabilistic programs are key to deal with uncertainty in e.g. controller synthesis. They are typically small but intricate. Their development is complex and error prone requiring quantitative reasoning over a myriad of alternative…

Software Engineering · Computer Science 2019-04-30 Milan Češka , Christian Hensel , Sebastian Junges , Joost-Pieter Katoen

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu

In program verification, constraint-based random testing is a powerful technique which aims at generating random test cases that satisfy functional properties of a program. However, on recursive constrained data-structures (e.g., sorted…

Programming Languages · Computer Science 2022-08-29 Ghiles Ziat , Vincent Botbol , Matthieu Dien , Arnaud Gotlieb , Martin Pépin , Catherine Dubois

In this paper a new mathematical procedure is presented for combining different pieces of evidence which are represented in the interval form to reflect our knowledge about the truth of a hypothesis. Evidences may be correlated to each…

Artificial Intelligence · Computer Science 2013-04-05 L. W. Chang , Rangasami L. Kashyap

We document a connection between constraint reasoning and probabilistic reasoning. We present an algorithm, called {em probabilistic arc consistency}, which is both a generalization of a well known algorithm for arc consistency used in…

Artificial Intelligence · Computer Science 2013-01-18 Michael C. Horsch , Bill Havens

Probabilistic programming is a growing area that strives to make statistical analysis more accessible, by separating probabilistic modelling from probabilistic inference. In practice this decoupling is difficult. No single inference…

Programming Languages · Computer Science 2022-04-15 Maria I. Gorinova

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ć

Synthesis is the automatic construction of a system from its specification. In classical synthesis algorithms, it is always assumed that the system is "constructed from scratch" rather than composed from reusable components. This, of…

Logic in Computer Science · Computer Science 2015-07-01 Sumit Nain , Yoad Lustig , Moshe Y Vardi

This paper tackles the problem of formulating and proving the completeness of focused-like proof systems in an automated fashion. Focusing is a discipline on proofs which structures them into phases in order to reduce proof search…

Logic in Computer Science · Computer Science 2015-11-16 Vivek Nigam , Giselle Reis , Leonardo Lima

Concolic testing is a popular dynamic validation technique that can be used for both model checking and automatic test case generation. We have recently introduced concolic testing in the context of logic programming. In contrast to…

Logic in Computer Science · Computer Science 2016-08-11 Fred Mesnard , Etienne Payet , German Vidal

Predicate intuitionistic logic is a well established fragment of dependent types. According to the Curry-Howard isomorphism proof construction in the logic corresponds well to synthesis of a program the type of which is a given formula. We…

Logic in Computer Science · Computer Science 2016-08-22 Maciej Zielenkiewicz , Aleksy Schubert

This paper focuses on automated synthesis of divide-and-conquer parallelism, which is a common parallel programming skeleton supported by many cross-platform multithreaded libraries. The challenges of producing (manually or automatically) a…

Programming Languages · Computer Science 2017-01-31 Azadeh Farzan , Victor Nicolet

One of the obstacles in automatic program proving is to obtain suitable loop invariants. The invariant of a loop is a weakened form of its postcondition (the loop's goal, also known as its contract); the present work takes advantage of this…

Software Engineering · Computer Science 2013-08-14 Carlo A. Furia , Bertrand Meyer