## 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 for P U anti-unification application arity assignment atoms binary binding COMMON LISP computed constant constant-operator constructor DATAFUN DATALOG declarative programming defined definition denotative deterministic divide(N,D domains and exclusions evaluative example expression extended ferroconcrete finite domains first-order relational-functional flattening footed clauses formula function calls functional goal functional programming ground Herbrand base Herbrand cross Herbrand crossbase model Herbrand universe higher-order higher-order functions HiLog Horn clauses hornish clause implementation integration kernel LISP LISP's logic programming logical consequence logical variables model-theoretic molecules multiple-footed multiple-valued multiple-valued functions n-ary nested non-determinism non-deterministic functions non-ground operational semantics palindrome partf permits predicate PROLOG PROLOG-like query recursive refutation relational goal relational-functional language relational-functional program relationalize relations and functions RELFUN returned value rules setter SLV-refutation SLV-resolution somerf subformula subsection syntax term tion top-level transformation truth value unary unification unified valued clauses varying-arity WAM compilation WAM instructions