  We describe a recursive algorithm that decomposes an algebraic set into
locally closed equidimensional sets, i.e. sets which each have irreducible
components of the same dimension. At the core of this algorithm, we combine
ideas from the theory of triangular sets, a.k.a. regular chains, with Gr\"obner
bases to encode and work with locally closed algebraic sets. Equipped with
this, our algorithm avoids projections of the algebraic sets that are
decomposed and certain genericity assumptions frequently made when decomposing
polynomial systems, such as assumptions about Noether position. This makes it
produce fine decompositions on more structured systems where ensuring
genericity assumptions often destroys the structure of the system at hand.
Practical experiments demonstrate its efficiency compared to state-of-the-art
implementations.
