Veriied Proofs concerning Functional Programs

نویسنده

  • Maarten de Mol
چکیده

In this paper the development of automatically veriied proofs for functional programs is examined. This examination is made on the basis of a small functional program written in the functional language clean. For this program a proof is constructed in the proof system coq. This proof is automatically veriied by coq. The functional program presented contains two function-constructors for the class of equality-functions. These function-constructors de-ne equality-functions on composed types from equality-functions on basic types. An equality-function for typèList of A' can be composed out of an equality-function for typèA', and one for typèPair of A and B' can be composed out of ones for typèA' and typèB'. In the proof it is shown that these function-constructors preserve equivalence-relations. This means that if the given equality-functions on the basic types are equivalence-relations, then also the constructed equality-function on the composed type must be an equivalence-relation. First the proof will be given informally. Then this informal proof is transformed in two steps to a formal proof in the proof system coq. The correctness of the formal proof is automatically checked by coq.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

System Description: IVY

IVY is a veriied theorem prover for rst-order logic with equality. It is coded in ACL2, and it makes calls to the theorem prover Otter to search for proofs and to the program MACE to search for coun-termodels. Veriications of Otter and MACE are not practical because they are coded in C. Instead, Otter and MACE give detailed proofs and models that are checked by veriied ACL2 programs. In additio...

متن کامل

Automating Changes of Data Type in Functional Programs

In this paper I present an automatic technique for transforming a program by changing the data types in that program to ones which are more appropriate for the task. Programs are synthesised by proving modiied synthesis theorems in the proofs-as-programs paradigm. The transformation can be veriied in the logic of type theory. Transformations are motivated by the presence of subexpressions in th...

متن کامل

Inheritance of Proofs

The Curry-Howard isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit object-oriented structuring mechanisms for veriication, we extend the object-model of Pierce and Turner, based on the higher-ord...

متن کامل

Programmation fonctionnelle certifiée : L'extraction de programmes dans l'assistant Coq. (Certified functional programming : Program extraction within Coq proof assistant)

This work concerns the generation of programs which are certified to be correct byconstruction. These programs are obtained by extracting relevant information from construc-tive proofs made with the Coq proof assistant.Such a translation, named “extraction”, of constructive proofs into functional programsis not new, and corresponds to an isomorphism known as Curry-Howard’s. ...

متن کامل

{78 () the Vlisp Veriied Scheme System *

The vlisp project has produced a rigorously veriied compiler from Scheme to byte codes, and a veriied interpreter for the resulting byte codes. The oocial denotational semantics for Scheme provides the main criterion of correctness. The Wand-Clinger technique was used to prove correctness of the primary compiler step. Then a state machine operational semantics is proved to be faithful to the de...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997