“s32a within s32b” is disobeyed. But why there is no assertion error occur?
The reason described in the book is “a ‘go to’ repetition operator is used to check for signal ‘c’, it acts as a blocking sequence”.
The term “blocking sequence” is not in SV1800. However, the following equivalents can be defined
(seq1 within seq2) is equivalent to:
((1[*0:$] ##1 seq1 ##1 1[*0:$]) intersect seq2 )
and
c[->3] is equivalent to:
!c[*0:$] ##1 c ##1 !c[*0:$] ##1 c ##1 !c[*0:$] ##1 c
Your assertion a32 should have failed. If it did not, check with your tool vendor.