After computing the values of the parameters, P&R verifies that the
values satisfy the constraints associated with the parameters. The
**check** inference examines the constraints whose parameters
are already computed, and all the parameters on which they depend have
been already computed. Figure 3 illustrates the inference
and its knowledge roles: PARAMETER VALUES, CONSTRAINT
PROCEDURES, CONSTRAINT DEPENDENCY RELATIONS and
CONSTRAINT RESULTS.

The constraints limit the values of some parameters. These constraints are
evaluated after the PARAMETER VALUES are computed. Not all
parameters have constraints, and some parameters may have more than
one constraint. In the VT task, for instance, the parameter *car
overtravel* has two constraints, a constraint that limits its
maximum value, and another one that limits its minimum value.

The CONSTRAINT PROCEDURES are procedures that evaluate if the
constraint is satisfied. The constraints establish
DEPENDENCY RELATIONS among the parameters. Each procedure
contains one expression that computes the CONSTRAINT RESULTS,
that can be ``true'' (if the constraint is satisfied) or ``false'' (if
the constraint is not satisfied). In the VT example, the parameter
* car overtravel* has the constraint *minimum car overtravel*,
which has a procedure that evaluates if the value of *car
overtravel* is at least the *counterweight runby* plus 1.5 times
the *counterweight buffer stroke* plus 24 inches. This constraint
depends on the value of the parameters *car overtravel*,
*counterweight runby* and *counterweight buffer stroke*.

**Figure 7:** The formalization of the
**check** inference and its knowledge roles.

Figure 7 shows the formalization of the
**check** inference and its knowledge roles. The (11)-(14)
definitions specify the knowledge roles for the inference. In (16),
the ** check** inference verifies the constraints whose
parameters have their values already computed, and have all the
parameters on which they depend already computed.

Wed Sep 4 15:57:17 EDT 1996