What operators constitute a multi-threaded sequence

Hi Forum,

In the following quote ::

A sequence is multi-threaded if it includes any of the following operators: 
and, intersect, or, range delay, consecutive range repetition, and repetition operator (i.e. [*n], [=n]. [ ->n] ).

I understand reason behind or , range delay ##[min:max] , consecutive range repetition [*min:max] , non-consecutive repetition [=n] operators being multi-threaded.

However why are and , intersect , repetition operator [*n] , goto repetition [→n] operators considered as multi-threaded ?

Consider the following examples

//[1] Antecedent has lhs & rhs sequence of unequal length
( a ##1 b ) and ( c ## $rose(d)[->1] ) |-> z;

Antecedent results in non-vacuous pass only when both lhs & rhs sequence match,
then why is the antecedent considered multithreaded ?

//[2] Using intersect operator
( a ##1 $rose(b)[->1] ) intersect ( c ##1 $rose(d)[->1] ) |-> z;

Antecedent results in non-vacuous pass only when both lhs & rhs sequence start and end at the same clock,
then why is the antecedent considered multithreaded ?

//[3] Using repetition operator
a ##1 b[*4] |-> z;


//[4] Using go-to repetition operator
a ##1 b[->4] |-> z;

Why are the above 4 cases considered as multi-threaded ?

Any advice or pointers would be much appreciated.

Thanks