The Use of a Formal Simulator to Verify a Simple Real Time Control Program

  • Robert S. Boyer
  • Milton W. Green
  • J Strother Moore
Part of the Texts and Monographs in Computer Science book series (MCS)


We present an initial and elementary investigation of the formal specification and mechanical verification of programs that interact with environments. We describe a formal, mechanically produced proof that a simple, real time control program keeps a vehicle on a straightline course in a variable crosswind. To formalize the specification we define a mathematical function which models the interaction of the program and its environment. We then state and prove two theorems about this function: the simulated vehicle never gets farther than three units away from the intended course and homes to the course if the wind ever remains steady for at least four sampling intervals.

Key Phrases

autopilot formal specification real time control mechanical theorem-proving modeling program verification simulation. 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    American National Standards Institute Inc. American National Standard Programming Language FORTRAN. Technical Report ANSI X3.9-1978, American National Standards Institute Inc., 1430 Broadway, N.Y. 10018, April 1978.Google Scholar
  2. [2]
    R. B. Anderson. Proving Programs Correct John Wiley amp; Sons, New York, 1979.Google Scholar
  3. [3]
    A. M. Ballantyne and W. W. Bledsoe. Automatic Proofs of Theorems in Analysis using Non-standard Techniques. Technical Report ATP- 23, Department of Mathematics, University of Texas at Austin, July 1975.Google Scholar
  4. [4]
    W. Bledsoe, R. Boyer, and W. Henneman. Computer proofs of limit theorems. Artificial Intelligence, 3: 27–60, 1972.MathSciNetzbMATHCrossRefGoogle Scholar
  5. [5]
    R. S. Boyer and J. S. Moore. A Computational Logic. Academic Press, New York, 1979.zbMATHGoogle Scholar
  6. [6]
    R. S. Boyer and J. S. Moore. The Mechanical Verification of a FORTRAN Square Root Program. SRI International, 1981.Google Scholar
  7. [7]
    R. S. Boyer and J. S. Moore. MJRTY — A Fast Majority Vote Algorithm. Technical Report ICSCA-CMP-32, Institute for Computing Science and Computer Applications, University of Texas at Austin, 1982. Also available through Computational Logic, Inc., Suite 290, 1717 West Sixth Street, Austin, TX 78703.Google Scholar
  8. [8]
    R. S. Boyer and J. S. Moore. A verification condition generator for FORTRAN. In R. S. Boyer and J. S. Moore, editors, The Correctness Problem in Computer Science, Academic Press, London, 1981.Google Scholar
  9. [9]
    R. Floyd. Assigning meaning to programs. In Mathematical Aspects of Computer Science, Proceedings of Symposia in Applied Mathematics, pages 19–32, American Mathematical Society, Providence, Rhode Island, 1967.Google Scholar
  10. [10]
    J. C. King. A Program Verifier. Ph.D. thesis, Carnegie-Mellon University, 1969.Google Scholar
  11. [11]
    Z. Manna. Mathematical Theory of Computation. McGraw-Hill Book Company, New York, 1974.zbMATHGoogle Scholar
  12. [12]
    J. Moses. Algebraic simplification: a guide for the perplexed. ACM, 1971. 2nd Symposium on Symbolic and Algebraic Manipulations.Google Scholar
  13. [13]
    United States of America Standards Institute. USA Standard FOR-TRAN. Technical Report USAS X3.9-1966, United States of America Standards Institute, 10 East 40th Street, New York 10016, 1966.Google Scholar

Copyright information

© Springer-Verlag New York, Inc. 1990

Authors and Affiliations

  • Robert S. Boyer
    • 1
  • Milton W. Green
    • 2
  • J Strother Moore
    • 3
  1. 1.Department of Computer SciencesThe University of Texas at AustinAustinUSA
  2. 2.Menlo ParkUSA
  3. 3.Computational Logic, IncorporatedAustinUSA

Personalised recommendations