A modular coding of UNITY in COQ

  • Barbara Heyd
  • Pierre Crégut
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1125)


We present a modular embedding of Unity in Coq. Special care has been put on the representation of Unity programs and on the logic used. To keep elimination of invariants and composability of safety properties, we introduce a notion of context. The definition of progress is strengthened so that we can keep progress properties when programs are composed. This is a generalization of the ad’hoc notion of “conditional progress” properties. We present fully mechanized proofs of consistency and completeness for this new system.


Linear Temporal Logic Safety Property Concurrent Program Unity Program Fairness Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [APP93]
    F. Andersen, K.D. Petersen, and J.S. Petterson. Program verification using HOL-UNITY. In J.J. Joyce and C.-J.H. Seger, editors, International Workshop on Higher Order Logic Theorem Proving and its Applications, pages 1–16, Vancouver, Canada, August 1993. University of British Columbia, Springer Verlag, Lecture Notes in Computer Science, No. 780, published 1994.Google Scholar
  2. [BM93]
    Naïma Brown and Dominique Mery. A proof environment for concurrent programs. In FME'93: Industrial-Strength Formal Methods, number 670 in LNCS, pages 196–215, 1993.Google Scholar
  3. [CH88]
    Th. Coquand and G. Huet. The calculus of constructions. Information and Computation, (76):95–120, 1988.Google Scholar
  4. [Che95]
    Boutheina Chetali. Formal verification of concurrent programs: How to specify Unity using the Larch Prover. Technical Report 2475, INRIA Lorraine, 1995.Google Scholar
  5. [CM89]
    K.M. Chandy and J. Misra. Parallel Program Design. Addison-Wesley, Austin, Texas, May 1989.Google Scholar
  6. [Coq94]
    Projet Coq. The Coq Proof Assistant Reference Manual. INRIA Rocquencourt and ENS Lyon, version 5.10 edition, 1994.Google Scholar
  7. [Gol90]
    D.M. Goldschlag. Mechanically verifying concurrent programs with the Boyer-Moore prover. IEEE Transactions on Software Engineering, 16(9):1005–1022, September 1990.CrossRefGoogle Scholar
  8. [Lam90]
    Leslie Lamport. A temporal logic of actions. Technical Report SRC-57, Digital Equipment Corporation, 1990.Google Scholar
  9. [Mis94]
    Jayadev Misra. Closure properties. unpublished manuscript on a new version of Unity, electronic version available under, 1994.Google Scholar
  10. [Päp95]
    Päppinghaus. On the logic of UNITY. Theoretical Computer Science, 139, 1995.Google Scholar
  11. [Pra95]
    I.S.W.B. Prasetya. Mechanically Suported Design of Self-stabilizing Algorithms. PhD thesis, University of Utrecht, october 1995.Google Scholar
  12. [Rao95]
    J. R. Rao. Extensions of the UNITY Methodology. Number 908 in LNCS. Springer Verlag, 1995.Google Scholar
  13. [San91]
    Beverly Sanders. Eliminating the substitution axiom from UNITY logic. Formal Aspects of Computing, 3(2):189–205, 1991.CrossRefMathSciNetGoogle Scholar
  14. [Sta88]
    Mark G. Staskaukas. The formal specification and design of a distributed electronic funds-transfer system. IEEE Trans. on Computers, 37(12):1515–1528, December 1988.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Barbara Heyd
    • 1
  • Pierre Crégut
    • 2
  1. 1.CRIN/CNRS-INRIA LorraineNancyFrance
  2. 2.CNET - France TelecomLannionFrance

Personalised recommendations