Each semantic representation consists of semantic units as its tree nodes, where each semantic unit is of the following form: Here m a is used to denote a complete semantic unit, which consists of its semantic type τ a , its function symbol p α , as well as a list of types for argument semantic units τ b * (here * means 0, 1, or 2; we assume there are at most two arguments for each semantic unit).
each semantic unit can be regarded as a function which takes in other semantic representations of specific types as arguments, and returns a new semantic representation of a particular type.