The type corresponding to a proposition of the form
is the function space
.
The proof expressions, say p, for this
object denotes a canonical element of the type. That element is a function
where for each
and if
and
.
So the function
and let
,
then
and
proves
.
So we can see that the process of proving the ``specification''
constructively creates a program f for
solving the programming task given by the specification, and it
simultaneously produces the verification
that the
program meets its specification (c.f. [29,8] and [70]).