**Go backward to** 6.1.2 Reductions

**Go up to** 6.1 Structured Specifications

**Go forward to** 6.1.4 Extensions

### 6.1.3 Unions

UNION ::= union SPEC+

A union is written:

*SP*_{1} **and**...**and** *SP*_{n}

When the current local environment is empty, each *SP*_{i} must
determine a complete signature *Sigma*_{i}. The signature of the union
is obtained by the ordinary union of the *Sigma*_{i} (not their
disjoint union). Thus all (non-localized) occurrences of a symbol in
the *SP*_{i} are interpreted uniformly (rather than being regarded
as homonyms for potentially different entities).

The models are those models of the union signature for which the
reduct along the signature inclusion morphism from *SP*_{i} is a
model of *SP*_{i}, for each *i=1,...,n*.

When the current local environment is non-empty, each *SP*_{i} must
determine an extension from it to a complete signature *Sigma*_{i};
then the resulting signature is determined as above. Similarly,
models of the local environment are extended to models of the
*SP*_{i}; then the resulting models are determined as above. This
provides the required partial functions from signatures to signatures,
and from model classes to model classes.

CoFI
Document: CASL/Summary-v1.0 -- Version: 1.0 -- 22 October 1998.

Comments to cofi-language@brics.dk