7.4.4 Formal parameters


A lambda expression has an associated integer, n, called its valence, which counts the number of referents that have been replaced with lambdas. The number n may be 0 or higher. A lambda expression with n replacements is called an n-adic lambda expression. Again, the adjectives "monadic", "dyadic", and "triadic" are used to described 1-adic, 2-adic, and 3-adic lambda expressions.

Formal parameters

An n-adic lambda expression has n formal parameters numbered 1, 2, ..., n. The formal parameters of a lambda expression are the placeholders in the expression, referred to by s or expressions like ?x, ?y, ?z, etc.

Each formal parameter is a concept with a type and a referent. The type of the formal parameter is the type of the concept whose referent has been replaced with a .


For example, the following lambda expression can be used to define a relation, GoingToAalborg:

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

Defining label, bound label

This definition has two parts:

  1. The name-part ("relation GoingToAalborg(*x) is"),
  2. The definition-part (the conceptual graph).

Note that in the name-part, the formal parameter is denoted by '*x', while in the definition-part, the formal parameter is denoted by '?x'. The label '*x' is called the defining label, while '?x' is called the bound label.

This notation is also used with coreference links.


One might use this relation as follows:

   [Professor: Alfred]<-(GoingToAalborg)
   "Alfred the professor is going to Aalborg"

Here, the concept

   [Professor: Alfred]

is the actual parameter to the lambda expression.

The relation GoingToAalborg can be expanded to its defining lambda expression:

   [Professor: Alfred]<-([Person: ?x]<-(Agnt)<-[Go]->(Dest)-
         ->[City: Aalborg])
   "Alfred the professor is going to Aalborg"

The formal parameter ("[Professor: Alfred]") can then be substituted for the lambda to which it refers:

   [Professor: Alfred]<-(Agnt)<-[Go]->(Dest)->[City: Aalborg]
   "Alfred is going to Aalborg"

Note that "Professor", which is the type of the concept of the actual parameter, is a subtype of "Person", which is the type of the concept which the actual parameter replaces. We see then, that the type of the actual parameter has to be a subtype of the type of the formal parameter. It need not be a proper subtype, as in this usage, but it must be a subtype.

Prev: 7.4.3 Example
Up: 7.4 Lambda expressions (optional)
Next: 7.4.5 Signature