A faceted taxonomy is a set of taxonomies, each describing a given knowledge domain from a different aspect. The indexing of the domain objects is done using compound terms, i.e. conjunctive combinations of terms from the taxonomies. A faceted taxonomy has several advantages over a single taxonomy, including conceptual clarity, compactness, and scalability. A drawback, however, is the cost of identifying compound terms that are invalid, i.e. terms that do not apply to any object of the domain. This need arises both in indexing and retrieval, and involves considerable human effort for specifying the valid compound terms one by one. In this paper, we propose and present in detail an algebra which can be used to specify the set of valid compound terms in an efficient and flexible manner. It works on the basis of the original simple terms of the facets and a small set of positive and/or negative statements. In each algebraic operation, we adopt a closed-world assumption with respect to the declared positive or negative statements. In this paper we elaborate on the properties of the algebraic operators and we describe application and methodological issues.