# 7.4.4 Formal parameters

## Valence

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 .

## Example

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.

## Usage

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