Setting the stage for the definition
A lambda expression is, as we have seen, a conceptual graph where zero or more concepts have had their referents replaced by lambdas. Let us assume that we are dealing with a particular lambda expression e. Let us further assume that e has n concepts whose referents have been replaced by lambdas. Finally, let us call these concepts c1, c2, ..., cn.
Definition of signature
n-adic lambda expressions
<t1,t2, ..., tn>
. This is simply a list of the types of the formal parameters.
Special case: 0-adic lambda expressionsSince a 0-adic lambda expression has no formal parameters, it has an empty signature, denoted by:
We have seen two examples of lambda expressions. Both can be used to define new relation types:
Note how the second one can be defined in terms of the first:
relation GoingToAalborg(*x) is [Person: ?x]->(GoingTo)->[City: Aalborg]
The first lambda expression is a dyadic lambda expression with the signature <Person, City>. The second lambda expression is a monadic lambda expression with the signature <Person>.
Exercise: Can you explain why the arrows in this last definition of GoingToAalborg point the way they do?
Finally, we have a short quiz on the main points in this chapter.
Prev: 7.4.4 Formal parameters
Up: 7.4 Lambda expressions (optional)
Next: 7.4.6 Quiz: Lambda expressions (optional)