This type represents a triangular system.
A polynomial system is a pair $(F,H)$, where $F\subset k[x]$ is a list of equations and and $H\subset k[x]$ is a list of inequations. The zero set of the system is $$Z(F/H) = \{x : f(x)= 0 for f\in F, h(x)\neq 0 for h\in H\}.$$ A triangular system $(T,U)$ is a polynomial system that satisfies some additional properties [Wang'01]. The most basic property, is that the set $T = \{t_1,\ldots,t_m\}$ must be triangular, i.e., the polynomials $\{t_i\}_i$ have distinct main variables. It is also usually required that $T$ forms a regular chain. The set of inequations $U$ often consists of the initials of $T$.
Triangular systems have very nice algorithmic properties. In particular, the zero set of a triangular system $(F,H)$ is always nonempty, and moreover, has dimension $n-m$. In addition, membership to the saturated ideal can be efficiently decided.
Any polynomial system can be decomposed into triangular systems. The method triangularize can be used to compute such decomposition.
The constructor of this type is triaSystem.
The object TriaSystem is a type, with ancestor classes HashTable < Thing.