ACM Home Page
Please provide us with feedback. Feedback
Nominal logic programming
Full text PdfPdf (632 KB)
Source
ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 30 ,  Issue 5  (August 2008) table of contents
Article No. 26  
Year of Publication: 2008
ISSN:0164-0925
Authors
James Cheney  University of Edinburgh, Edinburgh, Scotland
Christian Urban  Technische Universität, München
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 183,   Citation Count: 0
Additional Information:

appendices and supplements   abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1387673.1387675
What is a DOI?

APPENDICES and SUPPLEMENTS
Online appendix to designing mediation for context-aware applications. The appendix supports the information on article 26.


ABSTRACT

Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, α-equivalence). This article investigates logic programming based on nominal logic. We describe some typical nominal logic programs, and develop the model-theoretic, proof-theoretic, and operational semantics of such programs. Besides being of interest for ensuring the correct behavior of implementations, these results provide a rigorous foundation for techniques for analysis and reasoning about nominal logic programs, as we illustrate via examples.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Abadi, M., Cardelli, L., Curien, P.-L., and Lévy, J.-J. 1991. Explicit substitutions. J. Funct. Prog. 4, 375--416.
 
2
Aydemir, B. E., Bohannon, A., Fairbairn, M., Foster, J. N., Pierce, B. C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., and Zdancewic, S. 2005. Mechanized metatheory for the masses: The PoplMark Challenge. In Proceedings of the 18th International Conference on Theorem Proving in Higher Order Logics (TPHOLs'05), J. Hurd and T. F. Melham, Eds. Lecture Notes in Computer Science, vol. 3603. Springer, 50--65.
 
3
Barendregt, H. P. 1984. The Lambda Calculus. North-Holland.
 
4
 
5
 
6
Cheney, J. 2004a. The complexity of equivariant unification. In Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP'04). Lecture Notes in Computer Science, vol. 3142. Springer-Verlag, 332--344.
 
7
 
8
Cheney, J. 2005a. Equivariant unification. In Proceedings of the Conference on Rewriting Techniques and Applications (RTA'05). Lecture Notes in Computer Science, vol. 3467, Springer-Verlag, 74--89.
 
9
Cheney, J. 2005b. Relating nominal and higher-order pattern unification. In Proceedings of the 19th International Workshop on Unification (UNIF'05). 104--119.
10
 
11
Cheney, J. 2005d. A simpler proof theory for nominal logic. In Proceedings of the 8th International Conference on the Foundations of Software Science and Computational Structures (FOSSACS'05). Lecture Notes in Computer Science, vol. 3441, Springer-Verlag, 379--394.
 
12
Cheney, J. 2006a. Completeness and Herbrand theorems for nominal logic. J. Symb. Logic 71, 1, 299--320.
 
13
Cheney, J. 2006b. The semantics of nominal logic programs. In Proceedings of the International Conference on Logic Programing. Lecture Notes in Computer Science, vol. 4079. 361--375.
 
14
Cheney, J. and Urban, C. 2004. Alpha-Prolog: A logic programming language with names, binding and alpha-equivalence. In Proceedings of the 20th International Conference on Logic Programming (ICLP'04). Lecture Notes in Computer Science, vol. 3132, Springer-Verlag, 269--283.
 
15
Cheng, A. S. K., Robinson, P. J., and Staples, J. 1991. Higher level meta programming in Qu-Prolog 3.0. In Proceedings of the International Conference on Logic Programming. 285--298.
 
16
Church, A. 1940. A formulation of the simple theory of types. J. Symb. Logic 5, 56--68.
 
17
 
18
 
19
 
20
Davey, B. A. and Priestley, H. A. 2002. Introduction to Lattices and Order. Cambridge University Press.
 
21
Felty, A. 1993. Implementing tactics and tacticals in a higher-order logic programming language. J. Automa. Reason. 11, 1, 41--81.
 
22
 
23
 
24
Gabbay, M. J. and Pitts, A. M. 2002. A new approach to abstract syntax with variable binding. Formal Aspects Comput. 13, 341--363.
 
25
 
26
 
27
Hannan, J. and Miller, D. 1988. Uses of higher-order unification for implementing program transformers. In Proceedings of the 5th International Conference and Symposium on Logic Programming, Volume 2, R. A. Kowalski and K. A. Bowen, Eds. MIT Press, Cambridge, MA, 942--959.
 
28
 
29
Hanus, M. 1994. The integration of functions into logic programming: From theory to practice. J. Logic Program. 19--20, 583--628.
 
30
31
 
32
 
33
Jaffar, J., Maher, M. J., Marriott, K., and Stuckey, P. J. 1998. The semantics of constraint logic programs. J. Logic Program. 37, 1--3, 1--46.
 
34
 
35
 
36
Mason, I. A. 1987. Hoare's logic in the LF. Tech. rep. ECS-LFCS-87-32, University of Edinburgh.
 
37
 
38
Miller, D. 1990. An extension to ML to handle bound variables in data structures. In Proceedings of the 1st ESPRIT BRA Workshop on Logical Frameworks. 323--335.
 
39
Miller, D. 1991. A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic Computat. 1, 4, 497--536.
 
40
 
41
Miller, D. and Nadathur, G. 1987. A logic programming approach to manipulating formulas and programs. In Proceedings of the Symposium on Logic Programming. 379--388.
 
42
Miller, D., Nadathur, G., Pfenning, F., and Scedrov, A. 1991. Uniform proofs as a foundation for logic programming. Annals Pure Appl. Logic 51, 125--157.
43
 
44
Milner, R. 1978. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 3, 348--375.
 
45
 
46
 
47
 
48
Nadathur, G. and Miller, D. 1998. Higher-order logic programming. In Handbook of Logic in Artificial Intelligence and Logic Programming, D. M. Gabbay, C. J. Hogger, and J. A. Robinson, Eds. Vol. 5. Oxford University Press, Chapter 8, 499--590.
 
49
 
50
Nadathur, G. and Qi, X. 2005. Optimizing the runtime processing of types in polymorphic logic programming languages. In Proceedings of the International Conference on Logic Programming, Artificial Intelligence, and Reasoning, G. Sutcliffe and A. Voronkov, Eds. Lecture Notes in Computer Science, vol. 3835. Springer, 110--124.
 
51
 
52
O'Hearn, P. and Pym, D. J. 1999. The logic of bunched implications. Bull. Sym. Logic 5, 2, 215--244.
 
53
 
54
 
55
56
 
57
 
58
 
59
60
 
61
Pitts, A. M. and Gabbay, M. J. 2000. A metalanguage for programming with bound names modulo renaming. Lecture Notes in Computer Science, vol. 1837, Springer-Verlag, 230--255.
62
 
63
Pottier, F. 2005. An overview of Cαml. In Proceedings of the ACM SIGPLAN Workshop on ML (ML'05). ACM, 27--52.
 
64
 
65
 
66
 
67
 
68
69
 
70
 
71
 
72
 
73
Urban, C. and Cheney, J. 2005. Avoiding equivariace in Alpha-Prolog. In Proceedings of the 2005 Conference on Typed Lambda Calculus and Applications (TLCA 2005). Lecture Notes in Computer Science, vol. 3461, Springer-Verlag, 74--89.
 
74
 
75
Urban, C. and Tasson, C. 2005. Nominal techniques in Isabelle/HOL. In Proceedings of the 20th International Conference on Automated Deduction. Lecture Notes in Computer Science, vol. 3632. 38--53.
76
 
77
Watkins, K., Cervesato, I., Pfenning, F., and Walker, D. 2003. A concurrent logical framework: The propositional fragment. In Proceedings of TYPES. 355--377.

Collaborative Colleagues:
James Cheney: colleagues
Christian Urban: colleagues