Formal Aspects of Computing

, Volume 25, Issue 6, pp 993–1016 | Cite as

Applications of real number theorem proving in PVS

  • Hanne Gottliebsen
  • Ruth Hardy
  • Olga Lightfoot
  • Ursula Martin
Open Access
Original Article

Abstract

Real number theorem proving has many uses, particularly for verification of safety critical systems and systems for which design errors may be costly. We discuss a chain of developments building on real number theorem proving in PVS. This leads from the verification of aspects of an air traffic control system, through work on the integration of computer algebra and automated theorem proving to a new tool, NRV, first presented here that builds on the capabilities of Maple and PVS to provide a verified and automatic analysis of Nichols plots. This automates a standard technique used by control engineers and greatly improves assurance compared with the traditional method of visual inspection of the Nichols plots.

Keywords

Real number theorem proving PVS Maple Control systems Test suite Air traffic control Higher order theorem proving 

References

  1. Ada95.
    Adams RA (1995) Calculus: a complete course, 3rd edn. Addison-Wesley, ReadingGoogle Scholar
  2. ADG+01.
    Adams A, Dunstan M, Gottliebsen H, Kelsey T, Martin U, Owre S (2001) Computer algebra meets automated theorem proving: integrating maple and PVS. In: Boulton RJ, Jackson PB (eds) 14th international conference on theorem proving in higherOrder logics. Lecture notes in computer science, vol 2152. Springer-Verlag, pp 27–42Google Scholar
  3. AGLM99a.
    Adams AA, Gottliebsen H, Linton SA, Martin U (1999) Automated theorem proving in support of computer algebra: symbolic definite integration as a case study. In: Dooley S (ed) ISSAC ’99: proceedings of the 1999 international symposium on symbolic and algebraic computation. Vancouver, British Columbia, 1999. Simon Fraser University, ACM Press, pp 253–260Google Scholar
  4. AGLM99b.
    Adams AA, Gottliebsen H, Linton SA, Martin U (1999) VSDITLU: a verified symbolic definite integral table look-up. In: Ganzinger H (ed) Automated deduction—CADE-16. Lecture notes in artificial intelligence, vol 1632. Trento, Italy, 1999. ITC-irst, Springer-Verlag, pp 112–126Google Scholar
  5. AP08.
    Akbarpour B, Paulson LC (2008) Metitarski: an automatic prover for the elementary functions. In: Autexier S, Campbell J, Rubio J, Sorge V, Suzuki M, Wiedijk F (eds) AISC/MKM/Calculemus Lecture notes in computer science, vol 5144. Springer, pp 217–231Google Scholar
  6. Art64.
    Artin E (1964) The gamma function. Holt, Rinehart and Winston, Inc, New YorkMATHGoogle Scholar
  7. BEH+03.
    Brown CW, Encarnacin MJ, Hong H, Johnson J, Werner Kr, Liska R, Mccallum S (2003) QEPCAD B: a program for computing with semi-algebraic sets using cads. SIGSAM Bull 37:108Google Scholar
  8. BHC95.
    Ballarin C, Homann K, Calmet J (1995) Theorems and algorithms: an interface between Isabelle and Maple. In: ISSAC, pp 150–157Google Scholar
  9. BKM01.
    Bosgra OH, Kwakernaak H, Meinsma G (2001) Design methods for control systems: notes for a course of the Dutch Institute of Systems and Control, Winter term 2001–2002. Department of Systems, Signals and Control, University of TwenteGoogle Scholar
  10. BM06.
    Boldo S, Muñoz C (2006) A formalization of floating-point numbers in PVS. Report NIA Report No. 2006-01, NASA/CR-2006-214298, NIA-NASA Langley, National Institute of Aerospace, Hampton, VAGoogle Scholar
  11. But.
  12. CGBK04.
    Carreño V, Gottliebsen H, Butler R, Kalvala S (2004) Formal modeling and analysis of a preliminary small aircraft transportation system (SATS) concept. Technical Report NASA/TM-2004-21, NASA Langley Research Center, NASA LaRC, Hampton VA 23681-2199, USAGoogle Scholar
  13. CM00.
    Carreño V, Muñoz C Aircraft trajectory modeling and alerting algorithm verification. In: Harrison and Aagaard , pp 90–105Google Scholar
  14. CM05.
    Carreño V, Muñoz C (2005) Safety verification of the Small Aircraft Transportation System concept of operations. In: Proceedings of the AIAA 5th aviation, technology, integration, and operations conference, AIAA-2005-7423. Arlington, VirginiaGoogle Scholar
  15. DB01.
    Dorf RC, Bishop RH (2001) Modern control systems, 9th edn. Prentice-Hall, Englewood CliffsGoogle Scholar
  16. dMOR+05.
    de Moura L, Owre S, Rue H, Rushby J, Shankar N (2005) Integrating verification components. http://www.csl.sri.com/cgi-bin/rushby/ps2pdf.pl?~rushby/papers/vstte05
  17. Dut96.
    Dutertre B (1996) Elements of mathematical analysis in PVS. In: von Wright J, Grundy J, Harrison J (eds) Theorem proving in higher order logics: 9th international conference. Lecture notes in computer science, vol. 1125. Springer-Verlag, pp 141–156Google Scholar
  18. Fle00.
    Fleuriot JD On the mechanization of real analysis in Isabelle/HOL. In: Harrison and Aagaard , pp 146–162Google Scholar
  19. For.
    SRI Formalware. Yices. http://yices.csl.sri.com/
  20. GHK+80.
    Gierz G, Hofmann KH, Keimel K, Lawson JD, Mislove M, Scott DS (1980) A compendium of continuous lattices (CCL). Springer-Verlag, BerlinCrossRefGoogle Scholar
  21. Gon.
    Gonthier G A computer-checked proof of the Four Colour Theorem. http://research.microsoft.com/~gonthier/4colproof.pdf
  22. Got00.
    Gottliebsen H Transcendental functions and continuity checking in PVS. In: Harrison and Aagaard , pp 198–215Google Scholar
  23. Got01.
    Gottliebsen H (2001) Automated theorem proving for mathematics: real analysis in PVS. PhD thesis, University of St AndrewsGoogle Scholar
  24. GS.
    Gottliebsen H, So CM The Maple–PVS interface. http://www.dcs.qmul.ac.uk/~hago/Maple-PVS/
  25. HA00.
    Harrison J, Aagaard M (eds) (2000) In: Theorem proving in higher order logics: 13th international conference, TPHOLs 2000. Lecture notes in computer science, vol 1869. Springer-VerlagGoogle Scholar
  26. Hal.
    Hales T The flyspeck project. http://www.math.pitt.edu/~thales/flyspeck/
  27. Har98.
    Harrison J (1998) Theorem proving with the real numbers. Springer-Verlag, BerlinCrossRefMATHGoogle Scholar
  28. Har00.
    Harrison J Formal verification of IA-64 division algorithms. In: Harrison and Aagaard , pp 234–251Google Scholar
  29. Har06.
    Hardy R (2006) Formal methods for control engineering: a validated decision procedure for Nichols plot analysis. PhD thesis, University of St AndrewsGoogle Scholar
  30. Jac02.
    Jacobi C (2002) Formal verification of a fully IEEE compliant floating point unit. PhD thesis, University of the Saarland, 2002. http://engr.smu.edu/~seidel/research/diss-jacobi.ps.gz
  31. KS.
    Kemmerly GT, Syrett NE Small aircraft transportation system (SATS). http://sats.nasa.gov/main.html
  32. Lig06.
    Lightfoot O (2006) A real arithmetic test suite for theorem provers. In: 13th workshop on automated reasoning. ARW, pp 21–23Google Scholar
  33. Map12.
    Maplesoft (2012) The maple documentation center. http://www.maplesoft.com/documentation_center/
  34. Mar96.
    Marker D (1996) Model theory and exponentiation. Not Am Math Soc 43: 753–759MathSciNetMATHGoogle Scholar
  35. ML05.
    Muñoz C, Lester D (2005) Real number calculations and theorem proving. In: Hurd J, Melham T (eds) Proceedings of the 18th international conference on theorem proving in higher order logics, TPHOLs 2005. Lecture notes in computer science, vol 3603. Oxford, UK, 2005. Springer-Verlag, pp 195–210Google Scholar
  36. MLK98.
    Moore JS, Lynch TW, Kaufmann M (1998) A mechanically checked proof of the AMD5K86TM floating point division program. IEEE Trans Comput 47(9): 913–926MathSciNetCrossRefGoogle Scholar
  37. MM.
    Muñoz C, Mayero M Real automation in the field. http://research.nianet.org/~munoz/Field/
  38. NT93.
    Nowak B, Trybulec A (1993) Hahn–Banach theorem. J Formaliz Math. http://markun.cs.shinshu-u.ac.jp/Mirror/mizar/JFM/Vol5/hahnban.html
  39. Oga97.
    Ogata K (1997) Modern control engineering, 3rd edn. Prentice-Hall, Englewood CliffsGoogle Scholar
  40. ORS92.
    Owre S, Rushby JM, Shankar N (1992) PVS: a prototype verification system. In: Kapur D (ed) 11th international conference on automated deduction (CADE). Lecture notes in artificial intelligence, vol 607. Saratoga, NY, June 1992. Springer-Verlag, pp 748–752Google Scholar
  41. Pra00.
    Pratt RW (ed) (2000) Flight control systems: practical issues in design and implementation. IEE control engineering series, vol 57. The Institution of Electrical Engineers. Copublished by The American Institute of Aeronautics and AstronauticsGoogle Scholar
  42. Rus99.
    Russinoff DM (1999) A mechanically checked proof of correctness of the AMD K5 floating point square root microcode. Form Methods Syst Des. 14(1): 75–125CrossRefGoogle Scholar
  43. Spi73.
    Spivak M (1973) Calculus. Addison-Wesley, ReadingGoogle Scholar
  44. TM.
    Inc. The Mathworks. MATLAB and Simulink. http://www.mathworks.com/
  45. vBJ77.
    van Benthem Jutting LS (1977) Checking Landau’s “Grundlagen” in the AUTOMATH system. PhD thesis, Eindhoven University of TechnologyGoogle Scholar
  46. Vit03.
    Di Vito BL (2003) Strategy-enhanced interactive proving and arithmetic simplification for PVS. In: 1st international workshop on design and application of strategies/tactics in higher order logics (STRATA 2003). Rome, ItalyGoogle Scholar

Copyright information

© The Author(s) 2012

Authors and Affiliations

  • Hanne Gottliebsen
    • 1
  • Ruth Hardy
    • 2
  • Olga Lightfoot
    • 1
  • Ursula Martin
    • 1
  1. 1.School of Electronic Engineering and Computer ScienceQueenMary, University of LondonLondonUK
  2. 2.School of Computer ScienceUniversity of St AndrewsSt AndrewsUK

Personalised recommendations