C can be any Lipschitz function.

Usually, the network is modeled as:

*sigmoid(C(x)) -> D(X) *and we can apply constraint that makes sure it is a Lipschitz function.

i.e. C is the function model by your deep network. But this deep network must obey Lipschitz inequality which for example WGAN use clipping to force the constraint.