English
Related papers

Related papers: Constraint-Based Synthesis of Coupling Proofs

200 papers

Proof by coupling is a classical proof technique for establishing probabilistic properties of two probabilistic processes, like stochastic dominance and rapid mixing of Markov chains. More recently, couplings have been investigated as a…

Programming Languages · Computer Science 2017-04-04 Gilles Barthe , Thomas Espitau , Benjamin Grégoire , Justin Hsu , Pierre-Yves Strub

This thesis explores proofs by coupling from the perspective of formal verification. Long employed in probability theory and theoretical computer science, these proofs construct couplings between the output distributions of two…

Logic in Computer Science · Computer Science 2017-11-02 Justin Hsu

Couplings are a powerful mathematical tool for reasoning about pairs of probabilistic processes. Recent developments in formal verification identify a close connection between couplings and pRHL, a relational program logic motivated by…

Programming Languages · Computer Science 2018-03-16 Gilles Barthe , Benjamin Grégoire , Justin Hsu , Pierre-Yves Strub

Probabilistic coupling is a powerful tool for analyzing pairs of probabilistic processes. Roughly, coupling two processes requires finding an appropriate witness process that models both processes in the same probability space. Couplings…

Logic in Computer Science · Computer Science 2018-03-16 Gilles Barthe , Thomas Espitau , Benjamin Grégoire , Justin Hsu , Léo Stefanesco , Pierre-Yves Strub

Program synthesis is the task of automatically deriving a program that has been specified by a user in advance. Combining automated theorem proving with program synthesis enables the automated construction of proven-to-be-correct programs,…

Logic in Computer Science · Computer Science 2026-05-20 Márton Hajdu , Petra Hozzová , Laura Kovács , Eva Maria Wagner

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

This paper suggests a [email protected] of composable specification of concurrent programs that permits: (1) verification of program code for a given specification, and (2) composition of the specifications of the components to yield…

Programming Languages · Computer Science 2017-04-07 Jayadev Misra

Probabilistic couplings are the foundation for many probabilistic relational program logics and arise when relating random sampling statements across two programs. In relational program logics, this manifests as dedicated coupling rules…

Logic in Computer Science · Computer Science 2023-11-15 Simon Oddershede Gregersen , Alejandro Aguirre , Philipp G. Haselwarter , Joseph Tassarotti , Lars Birkedal

Determining if two protocols can be securely composed requires analyzing not only their additive properties but also their destructive properties. In this paper we propose a new composition method for constructing protocols based on…

Cryptography and Security · Computer Science 2009-09-01 Bela Genge , Iosif Ignat , Piroska Haller

The automated generation of exercises may substantially reduce the time educators devote to manual exercise design. A major obstacle to the integration of such automation into teaching practice, however, lies in the ability to control the…

Logic in Computer Science · Computer Science 2026-03-10 João Mendes , João Marcos , Patrick Terrematte

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

We present a tractable method for synthesizing arbitrarily large concurrent programs, for a shared memory model with common hardware-available primitives such as atomic registers, compare-and-swap, load-linked/store conditional, etc. The…

Logic in Computer Science · Computer Science 2008-01-14 Paul C. Attie

We provide here a proof theoretic account of constraint programming that attempts to capture the essential ingredients of this programming style. We exemplify it by presenting proof rules for linear constraints over interval domains, and…

Artificial Intelligence · Computer Science 2007-05-23 Krzysztof R. Apt

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Probabilistic bisimulation is a fundamental notion of process equivalence for probabilistic systems. Among others, it has important applications including formalizing the anonymity property of several communication protocols. There is a lot…

Software Engineering · Computer Science 2020-11-05 Chih-Duo Hong , Anthony W. Lin , Rupak Majumdar , Philipp Rümmer

Inference metaprogramming enables effective probabilistic programming by supporting the decomposition of executions of probabilistic programs into subproblems and the deployment of hybrid probabilistic inference algorithms that apply…

Programming Languages · Computer Science 2019-07-16 Shivam Handa , Vikash Mansinghka , Martin Rinard

Static verification relying on an automated theorem prover can be very slow and brittle: since static verification is undecidable, correct code may not pass a particular static verifier. In this work we use metaprogramming to generate code…

Programming Languages · Computer Science 2019-08-21 Isaac Oscar Gariano , Marco Servetto , Alex Potanin , Hrshikesh Arora

Essential tasks for the verification of probabilistic programs include bounding expected outcomes and proving termination in finite expected runtime. We contribute a simple yet effective inductive synthesis approach for proving such…

Logic in Computer Science · Computer Science 2023-02-09 Kevin Batz , Mingshuai Chen , Sebastian Junges , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Christoph Matheja

Testing algorithms across a wide range of problem instances is crucial to ensure the validity of any claim about one algorithm's superiority over another. However, when it comes to inference algorithms for probabilistic logic programs,…

Logic in Computer Science · Computer Science 2020-09-14 Paulius Dilkas , Vaishak Belle
‹ Prev 1 2 3 10 Next ›