Hello Atul,
according to the way the constraint has been defined, the characteristic CASING value shall be chosen first, and it shall infer the value for the other characteristic HARDDISK.
Here, the trace output, resulting following the above:
that is, first the value 'MINI TOWER' has been selected in the characteristic CASING, then the constraint has been triggered that, in turn, is inferring the value '850' for HARDDISK.
The other way round, that is, select first a value for HARDDISK and then select an incompatible value for CASING will result in an inconsistency (for HARDDISK):
Could you please check in Trace that the constraint is correctly triggered?
Thanks and regards,
Flavio