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

n-adic lambda expressions


  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:




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?


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)