## A Tight, Practical Integration of Relations and FunctionsAs in other fields, in computer science certain objects of study can be synthesized from different basic elements, in different ways, and with different resulting stabilities. In subfields such as artificial intelligence, computational logic, and programming languages various relational and functional ingredients and techniques have been tried for the synthesis of declarative programs. This text considers the notions of relations, as found in logic programming or in relational databases, and of functions, as found in functional programming or in equational languages. We study a declarative integration which is tight, because it takes place right at the level of these notions, and which is still practical, because it preserves the advantages of the widely used relational and functional languages PROLOG and LISP. The resulting relational and functional language, RELFUN, is used here for exemplifying all integration principles. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

An Overview of the RelationalFunctional Language RELFUN | 1 |

12 From Relations and Functions to Operators | 5 |

13 PROLOGLISPRELFUN Comparison | 8 |

14 Semantics and Implementation | 11 |

15 Applications | 14 |

16 Related Work | 16 |

17 Readers Guide | 19 |

Extended LogicplusFunctional Programming | 21 |

37 Completeness of SLVResolution | 85 |

38 Conclusions | 87 |

Finite Domains and Exclusions as FirstClass Citizens | 89 |

42 Domain Terms | 91 |

43 Exclusion Terms | 93 |

44 Occurrence Bindings | 95 |

45 DomainsExclusions in Relation Definitions | 97 |

452 Clauses and bndto Reductions | 99 |

22 Relations Defined by Hornish Clauses | 23 |

222 PROLOGlike Structures and Lists | 25 |

223 VaryingArity Structures | 26 |

224 VaryingArity Relationships | 28 |

225 HigherOrder Constructors and Relations | 29 |

23 Functions Defined by Footed Clauses | 31 |

2312 Footed Rules and the density Example | 33 |

2313 Nondeterminism DATALOG Relationalizing and WAM Compilation | 35 |

232 Full RELFUN Exemplified by SelfFunctions | 36 |

233 HigherOrder Constructors and Functions | 39 |

24 The LogicFunctional Style in Use | 42 |

OntheFly Construction of Proof Trees | 45 |

Interpreting a LISP Subset in RELFUN | 48 |

25 Conclusions | 50 |

The RELFUN Syntax | 52 |

A Direct Semantic Characterization of RELFUN | 55 |

32 Extending FirstOrder Theories to First Order RelationalFunctional Theories | 61 |

33 RelationalFunctional Interpretations and Models | 65 |

34 SLVResolution | 72 |

35 Soundness of SLVResolution | 78 |

36 Least Herbrand Crossbase Models as Fix points | 80 |

46 FiniteDomainExclusion Functional Programming | 101 |

461 DomainsExclusions as Function Arguments | 102 |

462 Functions with DomainExclusion Values | 103 |

47 Domain and Exclusion Antiunification | 105 |

48 Operational Semantics | 109 |

49 Conclusions | 111 |

The RELFUN Metaunify | 114 |

MultipleValued Horn Clauses and Their WAM Compilation | 117 |

52 A MultipleValued RelationalFunctional Language | 120 |

522 SingleValued and MultipleValued Clauses | 123 |

Refining the palindrome Operator | 128 |

524 HigherOrder Functions and Relations | 134 |

53 RelationalFunctional WAM Compilation | 137 |

532 Evaluative Foots and Denotative Normalization | 140 |

533 Nondeterministic MultipleValued Nestings and Static Flattening | 143 |

534 HigherOrder Clauses and ConstantOperator Reduction | 148 |

535 Translation to WAM Instructions | 151 |

54 Conclusions | 157 |

161 | |

### Other editions - View all

### Common terms and phrases

answer application argument assignment atoms base become binding body chapter clauses compilation computed conditional conjunction consequence constant construct constructor containing corresponding defined definition denotative deterministic directed directly domain elements employed equations equivalent evaluative example exclusions expression extended fact false Finally finite domains first-order flat flattening foot formula functional further given goal ground head hence Herbrand Herbrand crossbase higher-order Horn hornish implementation instance instructions integration interpreter introduced language least LISP logical mapping multiple-valued names natural nested non-deterministic non-ground normal Note obtain operator palindrome permits possible predicate premises procedure PROLOG pure query recursive reduced refutation relational relational-functional relational-functional program RELFUN result returned value returns rules semantics sequence single sorted specified structures subsection substitution success symbol syntax term tion transformation true unification unified unknown usual variable yields