An Algebraic Framework for Verifying the Correctness of Hardware with Input and Output: A Formalization in HOL

  • Anthony Fox
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3629)


The hol-4 proof system has been used to implement an algebraic framework for verifying the correctness of hardware with input and output. Implementations and specifications are modelled as iterated maps, with input and output modelled using streams. The correctness model supports three types of abstraction: temporal abstraction (with immersions), data abstraction, and stream abstraction.

This work has been used to formally verify the ARM6 microprocessor. This paper discusses this processor’s input and output behaviour and shows how this has been modelled and verified in hol. The verification is believed to be the first complete formal verification of a commercial off-the-shelf (COTS) processor. The definition of correctness given here is new – it is suited to verifying ARM’s block data transfer instructions, these load and store sets of registers.


Output Behaviour Input Stream Memory Unit Output Stream Algebraic Framework 
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. 1.
    Aagaard, M.D., Cook, B., Day, N.A., Jones, R.B.: A framework for microprocessor correctness statements. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 433–448. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Burch, J.R., Dill, D.L.: Automatic verification of pipelined microprocessor control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)Google Scholar
  3. 3.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: Specification and programming in rewrite logic. Technical report, Computer Science Laboratory, SRI International (1999)Google Scholar
  4. 4.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics. EATCS Monograph, vol. 6. Springer, Heidelberg (1985)zbMATHGoogle Scholar
  5. 5.
    Fox, A.C.J.: Algebraic Models for Advanced Microprocessors. PhD thesis, University of Wales Swansea (1998)Google Scholar
  6. 6.
    Fox, A.C.J.: An algebraic framework for modelling and verifying microprocessors using hol. Technical Report 512, University of Cambridge, Computer Laboratory (2001)Google Scholar
  7. 7.
    Furber, S.: ARM: system-on-chip architecture, 2nd edn. Addison-Wesley, Reading (2000)Google Scholar
  8. 8.
    Gordon, M.J.C.: HOL: A machine oriented formulation of higher order logic. Technical Report 42, University of Cambridge Computer Laboratory (1995)Google Scholar
  9. 9.
    Gordon, M., Wadsworth, C.P., Milner, R.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)zbMATHGoogle Scholar
  10. 10.
    Harman, N.A., Tucker, J.V.: Algebraic models and the correctness of microprocessors. In: Milne, G.J., Pierre, L. (eds.) CHARME 1993. LNCS, vol. 683. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  11. 11.
    Harman, N.A., Tucker, J.V.: Algebraic models of microprocessors: Architecture and organisation. Acta Informatica 33(5), 421–456 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Manolios, P.: Correctness of pipelined machines. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 161–178. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Sawada, J., Hunt Jr., W.A.: Verification of FM9801: An out-of-order model with speculative execution, exceptions, and program-modifying capability. Formal Methods in System Design 20(2), 187–222 (2002)zbMATHCrossRefGoogle Scholar
  14. 14.
    Seal, D. (ed.): ARM Architectural Reference Manual, 2nd edn. Addison-Wesley, Reading (2001)Google Scholar
  15. 15.
    Stephens, R.: Algebraic Stream Processing. PhD thesis, Department of Computer Science, University College of Swansea (1994)Google Scholar
  16. 16.
    Thompson, B.C.: A Mathematical Theory of Synchronous Concurrent Algorithms. PhD thesis, Department of Computer Studies, University of Leeds (1987)Google Scholar
  17. 17.
    Tucker, J.V., Zucker, J.I.: Theory of computability over stream algebras and its application to the mathematical foundations of computer science. In: Havel, I.M., Koubek, V. (eds.) MFCS 1992. LNCS, vol. 629, pp. 62–80. Springer, Heidelberg (1992)Google Scholar
  18. 18.
    Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pp. 675–788. Elsevier, Amsterdam (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Anthony Fox
    • 1
  1. 1.Computer LaboratoryUniversity of Cambridge 

Personalised recommendations