The Semantics of Nominal Logic Programs
Nominal logic programming is a form of logic programming with “concrete” names and binding, based on nominal logic, a theory of α-equivalence founded on swapping and freshness constraints. Previous papers have employed diverse characterizations of the semantics of nominal logic programs, including operational, denotational, and proof-theoretic characterizations; however, the formal properties and relationships among them have not been fully investigated. In this paper we give a uniform and improved presentation of these characterizations and prove appropriate soundness and completeness results. We also give some applications of these results.
KeywordsLogic Program Logic Programming Operational Semantic Atomic Formula Sequent Calculus
Unable to display preview. Download preview PDF.
- 1.Cheney, J., Urban, C.: Alpha-Prolog: A logic programming language with names, binding and a-equivalence. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 269–283. Springer, Heidelberg (2004)Google Scholar
- 5.Cheney, J.R.: Nominal Logic Programming. PhD thesis, Cornell University, Ithaca, NY (August 2004)Google Scholar
- 6.Darlington, J., Guo, Y.: Constraint logic programming in the sequent calculus. In: Pfenning, F. (ed.) LPAR 1994. LNCS, vol. 822, pp. 200–214. Springer, Heidelberg (1994)Google Scholar
- 12.Michaylov, S., Pfenning, F.: Higher-order logic programming as constraint logic programming. In: Position Papers for the First Workshop on Principles and Practice of Constraint Programming, Newport, Rhode Island, pp. 221–229 (April 1993)Google Scholar