Distributed Computing

, Volume 17, Issue 2, pp 91–106 | Cite as

Using counterfactuals in knowledge-based programming



This paper adds counterfactuals to the framework of knowledge-based programs of Fagin, Halpern, Moses, and Vardi [3,4]. The use of counterfactuals is illustrated by designing a protocol in which an agent stops sending messages once it knows that it is safe to do so. Such behavior is difficult to capture in the original framework because it involves reasoning about counterfactual executions, including ones that are not consistent with the protocol. Attempts to formalize these notions without counterfactuals are shown to lead to rather counterintuitive behavior.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dwork, C., Moses, Y.: Knowledge and common knowledge in a Byzantine environment: crash failures. Information and Computation 88(2):156-186 (1990).MATHGoogle Scholar
  2. 2.
    Engelhardt, K., van der Meyden, R., Moses, Y.: Knowledge and the logic of local propositions. In: Theoretical Aspects of Rationality and Knowledge: Proc. Seventh Conference (TARK 1998), 1998, pp. 29-41.Google Scholar
  3. 3.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about Knowledge. MIT Press, Cambridge, Mass., 1995.Google Scholar
  4. 4.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Knowledge-based programs. Distrib. Comput. 10(4):199-225 (1997).Google Scholar
  5. 5.
    Francez, N.: Fairness. Springer, Berlin New York, 1986.Google Scholar
  6. 6.
    Friedman, N., Halpern, J.Y.: Modeling belief in dynamic systems. Part I: foundations. Artificial Intelligence 95(2):257-316 (1997).CrossRefMATHGoogle Scholar
  7. 7.
    Goldszmidt, M., Pearl, J.: Rank-based systems: A simple approach to belief revision, belief update and reasoning about evidence and actions. In: Principles of Knowledge Representation and Reasoning: Proc. Third International Conference (KR ‘92), 1992, pp. 661-672.Google Scholar
  8. 8.
    Hadzilacos, V.: A knowledge-theoretic analysis of atomic commitment protocols. In: Proc. 6th ACM Symp. on Principles of Database Systems, pp. 129-134, 1987.Google Scholar
  9. 9.
    Hadzilacos, V., Halpern, J.Y.: Message-optimal protocols for Byzantine agreement. Mathematical Systems Theory 26:41-102 (1993).MathSciNetMATHGoogle Scholar
  10. 10.
    Halpern, J.Y.: Axiomatizing causal reasoning. Journal of A.I. Research 12:317-337 (2000).MathSciNetMATHGoogle Scholar
  11. 11.
    Halpern, J.Y., Fagin, R.: Modelling knowledge and action in distributed systems. Distrib. Comput. 3(4):159-179 (1989). A preliminary version appeared in: Proc. 4th ACM Symposium on Principles of Distributed Computing, 1985, with the title “A formal model of knowledge, action, and communication in distributed systems: preliminary report”.Google Scholar
  12. 12.
    Halpern, J.Y., Moses, Y.: Knowledge and common knowledge in a distributed environment. J. ACM 37(3):549-587 (1990).CrossRefMATHGoogle Scholar
  13. 13.
    Halpern, J.Y., Moses, Y., Waarts, O.: A characterization of eventual Byzantine agreement. SIAM J. Comput. 31(3):838-865 (2001).Google Scholar
  14. 14.
    Halpern, J.Y., Zuck, L.D.: A little knowledge goes a long way: knowledge-based derivations and correctness proofs for a family of protocols. J. ACM 39(3):449-478 (1992).CrossRefMATHGoogle Scholar
  15. 15.
    Kalai, E., Lehrer, E.: Subjective games and equilibria. Games and Economic Behavior 8:123-163 (1995).MathSciNetMATHGoogle Scholar
  16. 16.
    Lewis, D.K.: Counterfactuals. Harvard University Press, Cambridge, Mass., 1973.Google Scholar
  17. 17.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, Berlin New York, 1992.Google Scholar
  18. 18.
    Mazer, M.S.: A link between knowledge and communication in faulty distributed systems. In: Theoretical Aspects of Reasoning about Knowledge: Proc. Third Conference, 1990, pp. 289-304.Google Scholar
  19. 19.
    Mazer, M.S., Lochovsky, F.H.: Analyzing distributed commitment by reasoning about knowledge. Technical Report CRL 90/10, DEC-CRL, 1990.Google Scholar
  20. 20.
    Moses, Y., Tuttle, M.R.: Programming simultaneous actions using common knowledge. Algorithmica 3:121-169 (1988).MATHGoogle Scholar
  21. 21.
    Neiger, G., Toueg, S.: Simulating real-time clocks and common knowledge in distributed systems. J. ACM 40(2):334-367 (1993).CrossRefMATHGoogle Scholar
  22. 22.
    Pearl, J.: Causality: Models, Reasoning, and Inference. Cambridge University Press, New York, 2000.Google Scholar
  23. 23.
    Spohn, W.: Ordinal conditional functions: a dynamic theory of epistemic states. In: Harper, W., Skyrms, B. (eds.), Causation in Decision, Belief Change, and Statistics, vol. 2, pp. 105-134. Reidel, Dordrecht, Netherlands, 1988.Google Scholar
  24. 24.
    Stalnaker, R.C.: A theory of conditionals. In: Rescher, N. (ed.), Studies in Logical Theory, American Philosophical Quarterly Monograph Series, No. 2, pp. 98-112. Blackwell, Oxford, UK, 1968. Also appears in Harper, W.L., Stalnaker, R.C., Pearce, G. (eds.), Ifs. Dordrecht, Netherlands: Reidel, 1981.Google Scholar
  25. 25.
    Stalnaker, R.C.: A defense of conditional excluded middle. In: Harper, W.L., Stalnaker, R., Pearce, G. (eds.), Ifs, pp. 87-104. Reidel, Dordrecht, Netherlands, 1980.Google Scholar

Copyright information

© Springer-Verlag Berlin/Heidelberg 2004

Authors and Affiliations

  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA
  2. 2.Department of Electrical EngineeringTechnion - Israel Institute of TechnologyHaifaIsrael

Personalised recommendations