Observational and behavioural equivalences for soft concurrent constraint programming