Specifications may be named by definitions and collected in libraries. In the context of a library, the (re)use of a specification may be replaced by a reference to it through its name. The current association between names and the specifications that they reference is called the global environment; it may vary throughout a library, e.g., with linear visibility the global environment for a named specification is determined exclusively by the definitions that precede it.
The local environment given to each named specification in a library should be independent of the other specifications in the library. Thus any dependence between the specifications is always apparent from the explicit references to the names of specifications.
A library may be located at a particular site on the Internet, and addressed by a URL (uniform resource locator). Each library may incorporate the downloading of named specifications from other libraries, which takes place whenever the library is used.
The semantics of a specification library is a map taking each specification name defined in it to the semantics of that specification. The initial global environment for the library is empty.