  Open forms of global constraints allow the addition of new variables to an
argument during the execution of a constraint program. Such forms are needed
for difficult constraint programming problems where problem construction and
problem solving are interleaved, and fit naturally within constraint logic
programming. However, in general, filtering that is sound for a global
constraint can be unsound when the constraint is open. This paper provides a
simple characterization, called contractibility, of the constraints where
filtering remains sound when the constraint is open. With this characterization
we can easily determine whether a constraint has this property or not. In the
latter case, we can use it to derive a contractible approximation to the
constraint. We demonstrate this work on both hard and soft constraints. In the
process, we formulate two general classes of soft constraints.
