In LGS version 2.2 developers can choose whether a cycle of superfluous logical constraints should be marked as over-defined by setting a relevant solver option.

This example demonstrates the assembly of simple piston. During the process of sketching user incrementally add assembling constraints, along with the vertical constraints to align piston vertically. Finally, a symmetry constraint is added to position a piston with respect to cylinder. Now, sketch has become overdefined: parallelism between cylinder and piston is implied twice. However, this redundancy is “logical”: overdefined part doesn’t contain dimensions that can lead to inconsistencies. The example demonstrates that a user has an ability not to be informed about such “non-dangerous” redundancies.