• DocumentCode
    1706028
  • Title

    Moving proofs-as-programs into practice

  • Author

    Caldwell, James L.

  • Author_Institution
    Comput. Sci. Div., NASA Ames Res. Center, Moffett Field, CA, USA
  • fYear
    1997
  • Firstpage
    10
  • Lastpage
    17
  • Abstract
    Proofs in the Nuprl system, an implementation of a constructive type theory, yield “correct-by-construction” programs. In this paper a new methodology is presented for extracting efficient and readable programs from inductive proofs. The resulting extracted programs are in a form suitable for use in hierarchical verifications in that they are amenable to clean partial evaluation via extensions to the Nuprl rewrite system. The method is based on two elements: specifications written with careful use of the Nuprl set-type to restrict the extracts to strictly computational content; and on proofs that use induction tactics that generate extracts using familiar fixed-point combinators of the untyped lambda calculus. In this paper the methodology is described and its application is illustrated by example
  • Keywords
    lambda calculus; partial evaluation (compilers); program verification; rewriting systems; theorem proving; type theory; Nuprl rewrite system; constructive type theory; correct-by-construction programs; fixed-point combinators; hierarchical verifications; inductive proofs; partial evaluation; proofs-as-programs; specifications; untyped lambda calculus; Application software; Calculus; Computer languages; Induction generators; NASA; Postal services; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering, 1997. Proceedings., 12th IEEE International Conference
  • Conference_Location
    Incline Village, NV
  • Print_ISBN
    0-8186-7961-1
  • Type

    conf

  • DOI
    10.1109/ASE.1997.632819
  • Filename
    632819