Avoiding Equivariance in Alpha-Prolog

Christian Urban, James Cheney

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

αProlog is a logic programming language which is well-suited for rapid prototyping of type systems and operational semantics of typed λ-calculi and many other languages involving bound names. In αProlog, the nominal unification algorithm of Urban, Pitts and Gabbay is used instead of first-order unification. However, although αProlog can be viewed as Horn-clause logic programming in Pitts’ nominal logic, proof search using nominal unification is incomplete in nominal logic. Because of nominal logic’s equivariance principle, complete proof search would require solving NP-hard equivariant unification problems. Nevertheless, the αProlog programs we studied run correctly without equivariant unification. In this paper, we give several examples of αProlog programs that do not require equivariant unification, develop a test for identifying such programs, and prove the correctness of this test via a proof-theoretic argument.
Original languageEnglish
Title of host publicationTyped Lambda Calculi and Applications
Subtitle of host publication7th International Conference, TLCA 2005, Nara, Japan, April 21-23, 2005. Proceedings
EditorsPaweł Urzyczyn
PublisherSpringer
Pages401-416
Number of pages16
Volume3461
ISBN (Electronic)978-3-540-32014-2
ISBN (Print)978-3-540-25593-2
DOIs
Publication statusPublished - 2005

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin Heidelberg
Volume3461

Fingerprint

Dive into the research topics of 'Avoiding Equivariance in Alpha-Prolog'. Together they form a unique fingerprint.

Cite this