isWellDefined C
This function checks if a cell is well defined in the following sense. First, the boundary must form a cycle in homology. Second, the labels on the boundary cells when interpreted as modules must be submodules of the label of the input cell, again interpreted as a module. Finally the label itself must be a submodule (not necessarily proper).
Ring element labels are interpreted as the module of the principal ideal generated by the element in the ring. Importantly, if all labels are ring elements then the condition is simply that the labels on the boundary should divide the labels on the current cell.
In the following example, the cell is not well defined because the labels of the cells in the boundary of e do not all divide the label on e. Each of the vertices v1 and v2 are well defined.







Note however that extending this example, this function does not check if the cells in the boundary are themselves well defined.









Text This function does not check that the cells contained in the boundary are themselves well defined. For checking if a whole cell complex is well defined, see isWellDefined(CellComplex).