如何判断集合数据中是否包含多个指定的属性

怎么判断集合数据中是否包含多个指定的属性?
比如 

TState = (a, b, c, d);
TStatus = set of TState;

var
 s: TStatus;

怎么判断s里是否包含了a和c
用in的话,只能判断一个吧,难道要一层层的if判断?如果属性多了,写起来比较麻烦啊

------解决方案--------------------
用交集,結果是a和c,就表示存在

Delphi(Pascal) code
const CompareSet=[a]+[c];

var
 s: TStatus;
begin
   s:=[a]+[c]+[d];
   if s*CompareSet=CompareSet  then
     showmessage('s中包含CompareSet');
end;