Usually, relational calculus query languages require that variables are typed. To simplify the kinds of rules that appear in the EDM, the variables must be untyped. However, by using the structure of URC queries, and knowledge of the structure of the database, it is quite simple to find appropriate types for the variables.

This results in a typed relational calculus query expression in
the *Domain Relational Calculus*.

The expression:

is a representation of:{fva1:emp![name];exists(a:emp![name],[*,a]:boss&[fva1,a]:boss)}

Chris Fox, September 1995