We continue the discussion of natural deduction and the relationship
between constructive proofs and functional programs. For the
propositional fragment, this relationship turns out to be an
isomorphism. For first-order logic it is more complicated and we try to
illustrate some of the similarities and differences between logical and
type-theoretic approaches to specification.