# 7.4.5 Signature

## 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

If:

1. the type of c1 is t1,
2. the type of c2 is t2,
3. ...,
4. and the type of cn is tn,

then the signature of e is:

<t1,t2, ..., tn>

. This is simply a list of the types of the formal parameters.

### Special case: 0-adic lambda expressions

Since a 0-adic lambda expression has no formal parameters, it has an empty signature, denoted by:

<>

.

## Examples

We have seen two examples of lambda expressions. Both can be used to define new relation types:

relation GoingTo(*x,*y) is
[Person: ?x]<-(Agnt)<-[Go]->(Dest)->[City: ?y]
relation GoingToAalborg(*x) is
[Person: ?x]<-(Agnt)<-[Go]->(Dest)->[City: Aalborg]

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?

## Next

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)