A Logic Programming Language with Lambda - Abstraction , Function Variables , and Simple Uni cationDale

نویسنده

  • Dale Miller
چکیده

It has been argued elsewhere that a logic programming language with function variables and-abstractions within terms makes a good meta-programming language, especially when an object-language contains notions of bound variables and scope. The Prolog logic programming language and the related Elf and Isabelle systems provide meta-programs with both function variables and-abstractions by containing implementations of higher-order uniication. This paper presents a logic programming language, called L , that also contains both function variables and-abstractions, although certain restrictions are placed on occurrences of function variables. As a result of these restrictions, an implementation of L does not need to implement full higher-order uniication. Instead, an extension to rst-order uniication that respects bound variable names and scopes is all that is required. Such uniication problems are shown to be decidable and to possess most general uniiers when uniiers exist. A uniication algorithm and logic programming interpreter are described and proved correct. Several examples of using L as a meta-programming language are presented.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification

It has been argued elsewhere that a logic programming language with function variables and λ-abstractions within terms makes a good meta-programming language, especially when an object-language contains notions of bound variables and scope. The λProlog logic programming language and the related Elf and Isabelle systems provide meta-programs with both function .variables and λ-abstractions by co...

متن کامل

Higher Order Logic Programming with Untyped Lambda Expressions

A higher order logic programming system is presented. The declarative semantics of the system is based on the type-free higher order logic NaDSyL, which takes a nominalist approach to solving the set-theoretic paradoxes. The operational semantics is based on the deterministic and useful subset of higher order uni cation known as pattern uni cation. It is shown that the system allows all express...

متن کامل

Solving higher order equations: from logic to programming

Higher order constructs provide the necessary level of abstraction for concise and natural formulations in many areas of computer science We present constructive methods for higher order equational reasoning with applications ranging from theorem proving to novel programming concepts A major problem of higher order programming is the undecidability of higher order uni cation In the rst part we ...

متن کامل

Five Axioms of Alpha -

We present ve axioms of name-carrying lambda-terms iden-tiied up to alpha-conversion|that is, up to renaming of bound variables. We assume constructors for constants, variables, application and lambda-abstraction. Other constants represent a function Fv that returns the set of free variables in a term and a function that substitutes a term for a variable free in another term. Our axioms are (1)...

متن کامل

Five Axioms of Alpha - ConversionAndrew

We present ve axioms of name-carrying lambda-terms iden-tiied up to alpha-conversion|that is, up to renaming of bound variables. We assume constructors for constants, variables, application and lambda-abstraction. Other constants represent a function Fv that returns the set of free variables in a term and a function that substitutes a term for a variable free in another term. Our axioms are (1)...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991