Skip to main content

Relational Reasoning via Probabilistic Coupling

  • Conference paper
  • First Online:
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9450))

Included in the following conference series:

Abstract

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 are powerful tools proving properties about the relation between two processes, include reasoning about convergence of distributions and stochastic dominance—a probabilistic version of a monotonicity property.

While the mathematical definition of coupling looks rather complex and cumbersome to manipulate, we show that the relational program logic pRHL—the logic underlying the EasyCrypt cryptographic proof assistant—already internalizes a generalization of probabilistic coupling. With this insight, constructing couplings is no harder than constructing logical proofs. We demonstrate how to express and verify classic examples of couplings in pRHL, and we mechanically verify several couplings in EasyCrypt.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Barthe, G., Grégoire, B., Zanella-Béguelin, S.: Formal certification of code-based cryptographic proofs. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Savannah, Georgia, pp. 90–101, New York (2009)

    Google Scholar 

  2. Barthe, G., Crespo, J.M., Kunz, C.: Relational verification using product programs. In: International Symposium on Formal Methods (FM), Limerick, Ireland, pp. 200–214 (2011a)

    Google Scholar 

  3. Barthe, G., D’Argenio, P.R., Rezk, T.: Secure information flow by self-composition. Math. Struct. Comput. Sci. 21(06), 1207–1252 (2011b)

    Article  MATH  MathSciNet  Google Scholar 

  4. Barthe, G., Grégoire, B., Heraud, S., Béguelin, S.Z.: Computer-aided security proofs for the working cryptographer. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 71–90. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  5. Benton, N.: Simple relational correctness proofs for static analyses and program transformations. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Venice, Italy, pp. 14–25 (2004)

    Google Scholar 

  6. Deng, Y., Du, W.: Logical, metric, and algorithmic characterisations of probabilistic bisimulation. Technical report CMU-CS-11-110, Carnegie Mellon University, March 2011

    Google Scholar 

  7. Lindvall, T.: Lectures on the coupling method. Courier Corporation, Mineola (2002)

    MATH  Google Scholar 

  8. Mufa, C.: Optimal markovian couplings and applications. Acta Mathematica Sinica 10(3), 260–275 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  9. Thorisson, H.: Coupling, Stationarity, and Regeneration. Springer, New York (2000)

    Book  MATH  Google Scholar 

  10. Villani, C.: Optimal Transport: Old and New. Springer Science, Heidelberg (2008)

    Google Scholar 

  11. Yang, H.: Relational separation logic. Theor. Comput. Sci. 375(1–3), 308–334 (2007)

    Article  MATH  Google Scholar 

  12. Zaks, A., Pnueli, A.: CoVaC: compiler validation by program analysis of the cross-product. In: Cuellar, J., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 35–51. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

Download references

Acknowledgments

We thank Arthur Azevedo de Amorim and the anonymous reviewers for their close reading and useful suggestions. This work was partially supported by a grant from the Simons Foundation (#360368 to Justin Hsu), NSF grant CNS-1065060, Madrid regional project S2009TIC-1465 PROMETIDOS, Spanish national projects TIN2009-14599 DESAFIOS 10 and TIN2012-39391-C04-01 Strongsoft, and a grant from the Cofund Action AMAROUT II (#291803).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Justin Hsu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barthe, G., Espitau, T., Grégoire, B., Hsu, J., Stefanesco, L., Strub, PY. (2015). Relational Reasoning via Probabilistic Coupling. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2015. Lecture Notes in Computer Science(), vol 9450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48899-7_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48899-7_27

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48898-0

  • Online ISBN: 978-3-662-48899-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics