Papers
Topics
Authors
Recent
Search
2000 character limit reached

A Demonic Outcome Logic for Randomized Nondeterminism

Published 29 Oct 2024 in cs.LO and cs.PL | (2410.22540v2)

Abstract: Programs increasingly rely on randomization in applications such as cryptography and machine learning. Analyzing randomized programs has been a fruitful research direction, but there is a gap when programs also exploit nondeterminism (for concurrency, efficiency, or algorithmic design). In this paper, we introduce Demonic Outcome Logic for reasoning about programs that exploit both randomization and nondeterminism. The logic includes several novel features, such as reasoning about multiple executions in tandem and manipulating pre- and postconditions using familiar equational laws -- including the distributive law of probabilistic choices over nondeterministic ones. We also give rules for loops that both establish termination and quantify the distribution of final outcomes from a single premise. We illustrate the reasoning capabilities of Demonic Outcome Logic through several case studies, including the Monty Hall problem, an adversarial protocol for simulating fair coins, and a heuristic based probabilistic SAT solver.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (66)
  1. Alejandro Aguirre and Lars Birkedal. 2023. Step-Indexed Logical Relations for Countable Nondeterminism and Probabilistic Choice. Proc. ACM Program. Lang. 7, POPL (2023), 33–60. https://doi.org/10.1145/3571195
  2. Error Credits: Resourceful Reasoning about Error Bounds for Higher-Order Probabilistic Programs. Proc. ACM Program. Lang. 8, ICFP, Article 246 (Aug. 2024), 33 pages. https://doi.org/10.1145/3674635
  3. Krzysztof Apt and Gordon Plotkin. 1986. Countable nondeterminism and random assignment. J. ACM 33, 4 (aug 1986), 724–767. https://doi.org/10.1145/6490.6494
  4. An Assertion-Based Program Logic for Probabilistic Programs. In Programming Languages and Systems. Springer International Publishing, Cham, 117–144. https://doi.org/10.1007/978-3-319-89884-1_5
  5. Jon Beck. 1969. Distributive laws. In Seminar on Triples and Categorical Homology Theory, B. Eckmann (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 119–140. https://doi.org/10.1007/BFb0083084
  6. Distribution Bisimilarity via the Power of Convex Algebras. Logical Methods in Computer Science Volume 17, Issue 3 (July 2021). https://doi.org/10.46298/lmcs-17(3:10)2021
  7. The Theory of Traces for Systems with Nondeterminism and Probability. In 2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–14. https://doi.org/10.1109/lics.2019.8785673
  8. Presenting Convex Sets of Probability Distributions by Convex Semilattices and Unique Bases. In 9th Conference on Algebra and Coalgebra in Computer Science (CALCO 2021) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 211), Fabio Gadducci and Alexandra Silva (Eds.). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 11:1–11:18. https://doi.org/10.4230/LIPIcs.CALCO.2021.11
  9. The Theory of Traces for Systems with Nondeterminism, Probability, and Termination. Logical Methods in Computer Science Volume 18, Issue 2 (June 2022). https://doi.org/10.46298/lmcs-18(2:21)2022
  10. Aleksandar Chakarov and Sriram Sankaranarayanan. 2013. Probabilistic Program Analysis with Martingales. In Computer Aided Verification, Natasha Sharygina and Helmut Veith (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 511–526. https://doi.org/10.1007/978-3-642-39799-8_34
  11. Ricardo Corin and Jerry den Hartog. 2006. A Probabilistic Hoare-style Logic for Game-Based Cryptographic Proofs. In Automata, Languages and Programming. Springer Berlin Heidelberg, Berlin, Heidelberg, 252–263.
  12. Thibault Dardinier and Peter Müller. 2024. Hyper Hoare Logic: (Dis-)Proving Program Hyperproperties. Proc. ACM Program. Lang. 8, PLDI, Article 207 (jun 2024), 25 pages. https://doi.org/10.1145/3656437
  13. Jerry den Hartog. 1998. Comparative semantics for a process language with probabilistic choice and non-determinism. Vrije Universiteit, Netherlands. Imported from DIES.
  14. Jerry den Hartog. 1999. Verifying Probabilistic Programs Using a Hoare like Logic. In Advances in Computing Science — ASIAN’99, P. S. Thiagarajan and Roland Yap (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 113–125.
  15. Jerry den Hartog. 2002. Probabilistic Extensions of Semantical Models. Ph.D. Dissertation. Vrije Universiteit Amsterdam. https://core.ac.uk/reader/15452110
  16. Jerry den Hartog and Erik de Vink. 1999. Mixing Up Nondeterminism and Probability: a preliminary report. Electronic Notes in Theoretical Computer Science 22 (1999), 88–110. https://doi.org/10.1016/S1571-0661(05)82521-6 PROBMIV’98, First International Workshop on Probabilistic Methods in Verification.
  17. Edsger W. Dijkstra. 1975. Guarded Commands, Nondeterminacy and Formal Derivation of Programs. Commun. ACM 18, 8 (Aug 1975), 453–457. https://doi.org/10.1145/360933.360975
  18. Edsger W. Dijkstra. 1976. A Discipline of Programming. Prentice-Hall. I–XVII, 1–217 pages.
  19. A Core Calculus for Equational Proofs of Cryptographic Protocols. Proc. ACM Program. Lang. 7, POPL, Article 30 (jan 2023), 27 pages. https://doi.org/10.1145/3571223
  20. Uniform Sampling Through the Lovász Local Lemma. J. Acm 66, 3, Article 18 (apr 2019), 31 pages. https://doi.org/10.1145/3310131
  21. Probabilistic models for the guarded command language. Science of Computer Programming 28, 2 (1997), 171–192. https://doi.org/10.1016/S0167-6423(96)00019-6 Formal Specifications: Foundations, Methods, Tools and Applications.
  22. Charles Antony Richard Hoare. 1969. An Axiomatic Basis for Computer Programming. Commun. ACM 12, 10 (Oct. 1969), 576–580. https://doi.org/10.1145/363235.363259
  23. Concurrent Kleene Algebra and its Foundations. J. Log. Algebraic Methods Program. 80, 6 (2011), 266–296. https://doi.org/10.1016/J.JLAP.2011.04.005
  24. Bart Jacobs. 2008. Coalgebraic Trace Semantics for Combined Possibilitistic and Probabilistic Systems. Electronic Notes in Theoretical Computer Science 203, 5 (2008), 131–152. https://doi.org/10.1016/j.entcs.2008.05.023 Proceedings of the Ninth Workshop on Coalgebraic Methods in Computer Science (CMCS 2008).
  25. Bart Jacobs. 2021. From Multisets over Distributions to Distributions over Multisets. In Proceedings of the 36th Annual ACM/IEEE Symposium on Logic in Computer Science (Rome, Italy) (LICS ’21). Association for Computing Machinery, New York, NY, USA, Article 39, 13 pages. https://doi.org/10.1109/LICS52264.2021.9470678
  26. Claire Jones. 1990. Probabilistic Non-determinism. Ph.D. Dissertation. University of Edinburgh. http://hdl.handle.net/1842/413
  27. Claire Jones and Gordon Plotkin. 1989. A Probabilistic Powerdomain of Evaluations. In Fourth Annual Symposium on Logic in Computer Science. 186–195. https://doi.org/10.1109/lics.1989.39173
  28. Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning. In Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Mumbai, India) (POPL ’15). Association for Computing Machinery, New York, NY, USA, 637–650. https://doi.org/10.1145/2676726.2676980
  29. Benjamin Lucien Kaminski. 2019. Advanced weakest precondition calculi for probabilistic programs. Dissertation. RWTH Aachen University, Aachen. https://doi.org/10.18154/RWTH-2019-01829
  30. Klaus Keimel and Gordon Plotkin. 2017. Mixed powerdomains for probability and nondeterminism. Logical Methods in Computer Science Volume 13, Issue 1 (Jan. 2017). https://doi.org/10.23638/LMCS-13(1:2)2017
  31. Dexter Kozen. 1983. A Probabilistic PDL. In Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (STOC ’83). Association for Computing Machinery, New York, NY, USA, 291–297. https://doi.org/10.1145/800061.808758
  32. Dexter Kozen. 1997. Kleene Algebra with Tests. ACM Trans. Program. Lang. Syst. 19, 3 (May 1997), 427–443. https://doi.org/10.1145/256167.256195
  33. Dexter Kozen and Alexandra Silva. 2024. Multisets and Distributions. Springer Nature Switzerland, Cham, 168–187. https://doi.org/10.1007/978-3-031-61716-4_11
  34. Zohar Manna and Amir Pnueli. 1974. Axiomatic Approach to Total Correctness of Programs. Acta Inf. 3, 3 (sep 1974), 243–263. https://doi.org/10.1007/BF00288637
  35. Annabelle McIver and Carroll Morgan. 2001. Partial correctness for probabilistic demonic programs. Theoretical Computer Science 266, 1 (2001), 513–541. https://doi.org/10.1016/S0304-3975(00)00208-5
  36. Annabelle McIver and Carroll Morgan. 2005. Abstraction, Refinement and Proof for Probabilistic Systems. Springer. https://doi.org/10.1007/b138392
  37. A New Proof Rule for Almost-Sure Termination. Proc. ACM Program. Lang. 2, POPL, Article 33 (Jan 2018), 28 pages. https://doi.org/10.1145/3158121
  38. Matteo Mio and Valeria Vignudelli. 2020. Monads and Quantitative Equational Theories for Nondeterminism and Probability. In 31st International Conference on Concurrency Theory (CONCUR 2020) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 171), Igor Konnov and Laura Kovács (Eds.). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 28:1–28:18. https://doi.org/10.4230/LIPIcs.CONCUR.2020.28
  39. Michael Mislove. 2000. Nondeterminism and Probabilistic Choice: Obeying the Laws. In CONCUR 2000 — Concurrency Theory, Catuscia Palamidessi (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 350–365. https://doi.org/10.1007/3-540-44618-4_26
  40. Axioms for Probability and Nondeterminism. Electronic Notes in Theoretical Computer Science 96 (2004), 7–28. https://doi.org/10.1016/j.entcs.2004.04.019 Proceedings of the 10th International Workshop on Expressiveness in Concurrency.
  41. Probabilistic Predicate Transformers. ACM Trans. Program. Lang. Syst. 18, 3 (may 1996), 325–353. https://doi.org/10.1145/229542.229547
  42. Refinement-oriented probability for CSP. Form. Asp. Comput. 8, 6 (nov 1996), 617–647. https://doi.org/10.1007/bf01213492
  43. Peter W. O’Hearn. 2004. Resources, Concurrency and Local Reasoning. In CONCUR 2004 - Concurrency Theory. Springer Berlin Heidelberg, Berlin, Heidelberg, 49–67. https://doi.org/10.1016/j.tcs.2006.12.035
  44. Louis Parlant. 2020. Monad Composition via Preservation of Algebras. Ph.D. Dissertation. University College London. https://discovery.ucl.ac.uk/id/eprint/10112228/
  45. Gordon Plotkin. 1976. A Powerdomain Construction. SIAM J. Comput. 5, 3 (1976), 452–487. https://doi.org/10.1137/0205035 arXiv:https://doi.org/10.1137/0205035
  46. Robert Rand and Steve Zdancewic. 2015. VPHL: A Verified Partial-Correctness Logic for Probabilistic Programs. In Electronic Notes in Theoretical Computer Science, Vol. 319. 351–367. https://doi.org/10.1016/j.entcs.2015.12.021 The 31st Conference on the Mathematical Foundations of Programming Semantics (MFPS XXXI).
  47. Dana Scott. 1972. Continuous lattices. In Toposes, Algebraic Geometry and Logic, F. W. Lawvere (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 97–136. https://doi.org/10.1007/BFb0073967
  48. Roberto Segala. 1995. Modeling and verification of randomized distributed real-time systems. Ph.D. Dissertation. USA. https://groups.csail.mit.edu/tds/papers/Segala/phd1.pdf
  49. Roberto Segala and Nancy Lynch. 1994. Probabilistic simulations for probabilistic processes. In CONCUR ’94: Concurrency Theory, Bengt Jonsson and Joachim Parrow (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 481–496. https://doi.org/10.1007/BFb0015027
  50. Michael Smyth. 1978. Power domains. J. Comput. System Sci. 16, 1 (1978), 23–36. https://doi.org/10.1016/0022-0000(78)90048-X
  51. Harald Søndergaard and Peter Sestoft. 1992. Non-determinism in Functional Languages. Comput. J. 35, 5 (10 1992), 514–523. https://doi.org/10.1093/comjnl/35.5.514 arXiv:https://academic.oup.com/comjnl/article-pdf/35/5/514/1125580/35-5-514.pdf
  52. Joseph Tassarotti. 2018. Verifying Concurrent Randomized Algorithms. Ph.D. Dissertation. Carnegie Mellon University. https://csd.cmu.edu/academics/doctoral/degrees-conferred/joseph-tassarotti
  53. Joseph Tassarotti and Robert Harper. 2019. A Separation Logic for Concurrent Randomized Programs. Proc. ACM Program. Lang. 3, POPL, Article 64 (Jan 2019), 30 pages. https://doi.org/10.1145/3290377
  54. Regina Tix. 1999. Continuous D-cones: convexity and powerdomain constructions. Ph.D. Dissertation. Darmstadt University of Technology, Germany. https://d-nb.info/957239157
  55. Regina Tix. 2000. Convex Power Constructions for Continuous D-Cones. Electronic Notes in Theoretical Computer Science 35 (2000), 206–229. https://doi.org/10.1016/S1571-0661(05)80746-7 Workshop on Domains IV.
  56. Semantic Domains for Combining Probability and Non-Determinism. Electronic Notes in Theoretical Computer Science 222 (2009), 3–99. https://doi.org/10.1016/j.entcs.2009.01.002
  57. Daniele Varacca. 2002. The powerdomain of indexed valuations. In Proceedings 17th Annual IEEE Symposium on Logic in Computer Science. 299–308. https://doi.org/10.1109/LICS.2002.1029838
  58. Daniele Varacca. 2003. Probability, Nondeterminism and Concurrency: Two Denotational Models for Probabilistic Computation. Ph.D. Dissertation. University of Aarhus. https://www.brics.dk/DS/03/14/
  59. Daniele Varacca and Glynn Winskel. 2006. Distributing probability over non-determinism. Mathematical Structures in Computer Science 16, 1 (2006), 87–113. https://doi.org/10.1017/S0960129505005074
  60. John von Neumann. 1951. Various techniques used in connection with random digits. In Monte Carlo Method, A.S. Householder, G.E. Forsythe, and H.H. Germond (Eds.). National Bureau of Standards Applied Mathematics Series, 12, Washington, D.C.: U.S. Government Printing Office, 36–38.
  61. Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate Transformers. Proc. ACM Program. Lang. 8, OOPSLA2, Article 300 (oct 2024), 30 pages. https://doi.org/10.1145/3689740
  62. Noam Zilberstein. 2024. A Relatively Complete Program Logic for Effectful Branching. arXiv:2401.04594 [cs.LO]
  63. Outcome Logic: A Unifying Foundation for Correctness and Incorrectness Reasoning. Proc. ACM Program. Lang. 7, OOPSLA1, Article 93 (Apr 2023), 29 pages. https://doi.org/10.1145/3586045
  64. Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational Effects. Proc. ACM Program. Lang. 8, OOPSLA1 (Apr 2024). https://doi.org/10.1145/3649821
  65. Maaike Zwart. 2020. On the Non-Compositionality of Monads via Distributive Laws. Ph.D. Dissertation. University of Oxford. https://ora.ox.ac.uk/objects/uuid:b2222b14-3895-4c87-91f4-13a8d046febb
  66. Maaike Zwart and Dan Marsden. 2019. No-Go Theorems for Distributive Laws. In 2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/lics.2019.8785707
Citations (1)

Summary

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 1 tweet with 0 likes about this paper.