hide
Free keywords:
-
Abstract:
We present a system for representing programs as proofs, which combines features of classical and constructive logic. We present the syntax, semantics, and inference rules of the system, and establish soundness and consistency. The system is based on an unspecified underlying logic possessing certain properties. We show how proofs in this system can be systematically converted to programs in a class of abstract logic programming languages including term-rewriting systems and Horn clause logic programs. A number of examples of such logic programming languages and underlying logics are given, as well as some proofs that can be expressed in this system and the corresponding programs.