Set abstraction-An extension of all solutions predicate in logic programming language

Research output: Contribution to journalArticle

Abstract

The concept of set abstraction is introduced as a simple analogy of that of lambda abstraction in the theory of lambda calculus. The set abstraction is concerned with two extensions concerning Prolog language features: "set expression" and "predicate variable." It has been argued in the literature that the set expression extension to Prolog does really contribute to the power of the language, while the extension of predicate variables does not add anything to Prolog. Combining these two concepts of extensions to Prolog, we define "set abstraction" as the set expression in which predicate variables are allowed as data objects. In other words, the set abstraction gets involved in the higher order predicate logic. By showing some application examples, it is demonstrated that with the help of predicate variables set abstractions can nicely handle the issues of the second order predicate logic. Further, the implementation programs written in Prolog and Concurrent Prolog are presented.

Original languageEnglish
Pages (from-to)227-248
Number of pages22
JournalNew Generation Computing
Volume5
Issue number3
DOIs
Publication statusPublished - 1987 Sep
Externally publishedYes

Fingerprint

Logic programming
Logic Programming
Predicate
Computer programming languages
Programming Languages
Prolog
Predicate Logic
Second-order Logic
Higher-order Logic
Abstraction
Lambda Calculus
Analogy
Concurrent

Keywords

  • All Solutions predicate
  • Logic Programming Language
  • Predicate Variables
  • Second-order Predicate

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this

Set abstraction-An extension of all solutions predicate in logic programming language. / Yokomori, Takashi.

In: New Generation Computing, Vol. 5, No. 3, 09.1987, p. 227-248.

Research output: Contribution to journalArticle

@article{75c09cb7e5c4475c8174fbba8a8b3ca1,
title = "Set abstraction-An extension of all solutions predicate in logic programming language",
abstract = "The concept of set abstraction is introduced as a simple analogy of that of lambda abstraction in the theory of lambda calculus. The set abstraction is concerned with two extensions concerning Prolog language features: {"}set expression{"} and {"}predicate variable.{"} It has been argued in the literature that the set expression extension to Prolog does really contribute to the power of the language, while the extension of predicate variables does not add anything to Prolog. Combining these two concepts of extensions to Prolog, we define {"}set abstraction{"} as the set expression in which predicate variables are allowed as data objects. In other words, the set abstraction gets involved in the higher order predicate logic. By showing some application examples, it is demonstrated that with the help of predicate variables set abstractions can nicely handle the issues of the second order predicate logic. Further, the implementation programs written in Prolog and Concurrent Prolog are presented.",
keywords = "All Solutions predicate, Logic Programming Language, Predicate Variables, Second-order Predicate",
author = "Takashi Yokomori",
year = "1987",
month = "9",
doi = "10.1007/BF03037464",
language = "English",
volume = "5",
pages = "227--248",
journal = "New Generation Computing",
issn = "0288-3635",
publisher = "Springer Japan",
number = "3",

}

TY - JOUR

T1 - Set abstraction-An extension of all solutions predicate in logic programming language

AU - Yokomori, Takashi

PY - 1987/9

Y1 - 1987/9

N2 - The concept of set abstraction is introduced as a simple analogy of that of lambda abstraction in the theory of lambda calculus. The set abstraction is concerned with two extensions concerning Prolog language features: "set expression" and "predicate variable." It has been argued in the literature that the set expression extension to Prolog does really contribute to the power of the language, while the extension of predicate variables does not add anything to Prolog. Combining these two concepts of extensions to Prolog, we define "set abstraction" as the set expression in which predicate variables are allowed as data objects. In other words, the set abstraction gets involved in the higher order predicate logic. By showing some application examples, it is demonstrated that with the help of predicate variables set abstractions can nicely handle the issues of the second order predicate logic. Further, the implementation programs written in Prolog and Concurrent Prolog are presented.

AB - The concept of set abstraction is introduced as a simple analogy of that of lambda abstraction in the theory of lambda calculus. The set abstraction is concerned with two extensions concerning Prolog language features: "set expression" and "predicate variable." It has been argued in the literature that the set expression extension to Prolog does really contribute to the power of the language, while the extension of predicate variables does not add anything to Prolog. Combining these two concepts of extensions to Prolog, we define "set abstraction" as the set expression in which predicate variables are allowed as data objects. In other words, the set abstraction gets involved in the higher order predicate logic. By showing some application examples, it is demonstrated that with the help of predicate variables set abstractions can nicely handle the issues of the second order predicate logic. Further, the implementation programs written in Prolog and Concurrent Prolog are presented.

KW - All Solutions predicate

KW - Logic Programming Language

KW - Predicate Variables

KW - Second-order Predicate

UR - http://www.scopus.com/inward/record.url?scp=77951504420&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77951504420&partnerID=8YFLogxK

U2 - 10.1007/BF03037464

DO - 10.1007/BF03037464

M3 - Article

AN - SCOPUS:77951504420

VL - 5

SP - 227

EP - 248

JO - New Generation Computing

JF - New Generation Computing

SN - 0288-3635

IS - 3

ER -