Extraction of Efficient Programs in IΣ_1-arithmetic
Clausal Language (CL) is a declarative programming and verifying system used in our teaching of computer science. CL is an implementation of, what we call, PR+IΣ_1 paradigm (primitive recursive functions with IΣ_1-arithmetic). This paper introduces an extension of IΣ_1-proofs called extraction proofs where one can extract from the proofs of Π_2-specifications primitive recursive programs as efficient as the hand-coded ones. This is achieved by having the programming constructs correspond exactly to the proof rules with the computational content.
READ FULL TEXT