## A logic programming language based on binding algebras (2001)

### Cached

### Download Links

- [www.ipl.t.u-tokyo.ac.jp]
- [www.cs.gunma-u.ac.jp]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. Theoretical Aspects of Computer Science (TACS 2001), number 2215 in Lecture |

Citations: | 7 - 1 self |

### BibTeX

@INPROCEEDINGS{Hamana01alogic,

author = {Makoto Hamana},

title = {A logic programming language based on binding algebras},

booktitle = {In Proc. Theoretical Aspects of Computer Science (TACS 2001), number 2215 in Lecture},

year = {2001},

pages = {243--262},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

Abstract. We give a logic programming language based on Fiore, Plotkin and Turi’s binding algebras. In this language, we can use not only first-order terms but also terms involving variable binding. The aim of this language is similar to Nadathur and Miller’s λProlog, which can also deal with binding structure by introducing λ-terms in higher-order logic. But the notion of binding used here is finer in a sense than the usual λ-binding. We explicitly manage names used for binding and treat α-conversion with respect to them. Also an important difference is the form of application related to β-conversion, i.e. we only allow the form (M x), where x is a (object) variable, instead of usual application (M N). This notion of binding comes from the semantics of binding by the category of presheaves. We firstly give a type theory which reflects this categorical semantics. Then we proceed along the line of first-order logic programming language, namely, we give a logic of this language, an operational semantics by SLD-resolution and unification algorithm for binding terms. 1

### Citations

351 | U.: An efficient unification algorithm
- Martelli, Montanari
- 1982
(Show Context)
Citation Context ...nding terms is given by the set of transformation rules on systems given in Fig. 3. This is based on Martelli and Montanari’s unification algorithm for first-order terms by the set of transformations =-=[MM82]-=-. (F -elim) G1, F (s1, . . . , sn) : A = ? F (t1, . . . , tn) : B, G2 G1, s1 : A = ? t1 : B, . . . , sn : A = ? tn : B, G2 (triv) G1, ξx : A = ? ξx : A, G2 G1, G2 (ov-elim) G1, var(a) : A = ? var(b) :... |

298 | A logic programming language with lambda-abstraction, function variables, and simple uni
- Miller
- 1991
(Show Context)
Citation Context ...ng Algebras 261 But the class of formulas of λProlog is wider than ours, higher-order hereditary Harrop formulas can contain ∀, ⇒ in the body of clauses. Later, Miller proposed succeeding language Lλ =-=[Mil91]-=-, which is a subset of λProlog where β-equality is restricted to β 0-equality defined by (λx.M)x = M. Miller observed that “when examining typical λProlog programs, it is clear that most instances of ... |

157 |
Abstract syntax and variable binding
- Fiore, Plotkin, et al.
- 1999
(Show Context)
Citation Context ...es are defined by τ ::= ι | δτsA Logic Programming Language based on Binding Algebras 245 where ι is a base type and δτ is a higher type abstracted by an object variable (semantically δτ ∼ = (OV ⇒ τ) =-=[FPT99]-=-). The set of all types is denoted by Ty. Signature. A signature Σ is a set of function symbols together with an arity function assigning to each function symbol f, a finite sequence of types as the s... |

156 | A new approach to abstract syntax involving binders
- Gabbay, Pitts
- 1999
(Show Context)
Citation Context ...UA algorithm can solve it, this point is an advantage of our language on Lλ. Pitts and Gabbay’s FreshML [PG00] is a functional programming language based on their semantics of binding – FM-set theory =-=[GP99]-=-. FreshML is quite similar to ours, they use the notion of stage too (called support), but they attached object variables not contained by its stage as a type information of terms. They in particular ... |

110 | An overview of λ-prolog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ... G �θ ′ ,ρ � such that θ ′ � ρ 1 ◦ θ, where θ : ∆ → T (D, ∆1), θ ′ : ∆ → T (C0, ∆2), ρ : D → C0, and ρ 1 : ∆1 → ∆2 is defined by x : σ : A ↦→ x : σ : ρA. 10 Related Work Nadathur and Miller’s λProlog =-=[NM88]-=- is one of the most famous language treating variable binding in logic programming. This language deals with higher-order hereditary Harrop formulas instead of first-order Horn clauses in case of Prol... |

103 | Semantical analysis of higher-order abstract syntax
- Hofmann
- 1999
(Show Context)
Citation Context ...table ρ. The reason why we only let ρ be 1-1 for substituting object variables in the above rules comes from Hofmann’s observation on the denotation on decidable equality in the presheaf category ˆ F =-=[Hof99]-=-. Let us rephrase his observation in our system: consider a program for inequality of object variables by the predicate ineq and the following sequent: {⊢a,b ineq(var(a), var(b)) : a, b} ⊲a,b ineq(var... |

95 | A metalanguage for programming with bound names modulo renaming
- Pitts, Gabbay
- 2000
(Show Context)
Citation Context ...(F is a free variable) is not a pattern unification problem, hence Lλ cannot solve it. But our BUA algorithm can solve it, this point is an advantage of our language on Lλ. Pitts and Gabbay’s FreshML =-=[PG00]-=- is a functional programming language based on their semantics of binding – FM-set theory [GP99]. FreshML is quite similar to ours, they use the notion of stage too (called support), but they attached... |

44 | Higher-order abstract syntax in Coq - Despeyroux, Felty, et al. - 1995 |

30 |
Abstract syntax for variable binders: An overview
- Miller
- 2000
(Show Context)
Citation Context ... by (λx.M)x = M. Miller observed that “when examining typical λProlog programs, it is clear that most instances of β-conversion performed by the interpreter are, in fact, instances of β 0-conversion” =-=[Mil00]-=-. As a result, the unification modulo α,β 0,η becomes very simple and decidable, and also resemble first-order unification. Our β 0-axiom is (essentially) same as Miller’s β 0-axiom, but the motivatio... |

16 | A simply typed context calculus with first-class environments
- Sato, Sakurai, et al.
- 2002
(Show Context)
Citation Context ...⊢a [a]x : ι : ∅ ⊢a [a]var(a) : ι : ∅ where the object variable a is captured by the binder [a]. So, this [ ]-binder can be considered as a hole of context appeared in several context calculi [Oho96], =-=[SSK01]-=- rather than an ordinary binder. However this is because the stages of var(a) and x match in the substitution process and if these does not match, “capture avoiding” like substitution can also be simu... |

3 |
A typed context calculus
- Hashimoto, Ohori
- 1996
(Show Context)
Citation Context ... : ι : a ⊢a [a]x : ι : ∅ ⊢a [a]var(a) : ι : ∅ where the object variable a is captured by the binder [a]. So, this [ ]-binder can be considered as a hole of context appeared in several context calculi =-=[Oho96]-=-, [SSK01] rather than an ordinary binder. However this is because the stages of var(a) and x match in the substitution process and if these does not match, “capture avoiding” like substitution can als... |

1 | Lambda clculus notation with nameless dummies, a tool for automatic formula manipulation, whith application to the church-rosser theorem - Bruijn - 1972 |