Question on muti-thread and single-thread sequences

Thanks a lot Ben for the explanation. Your book is very detailed and gives excellent treatment of the topic.
I have some more questions as follows :
On page no. 38, there is an example sequence where a new “a” is repeated g times and g is an integer-

(rose (a), v = g) |-> first_match((a==1'b1, v=v-1'b1)[*1:] ##0 v==1’b0) ##0 a==1’b1

Now assuming g = 3, this would translate into -

($rose (a), v = 3)|-> first_match((a==1’b1, v=2) or ((a==1’b1, v=2) ##1 (a==1’b1, v=2) ##1 a==1’b1 v=1) or ((a==1, v=2) ##1 (a==1, v=2)##1 (a==1, v=1)##1 (a==1, v=0)…)##0 v==1’b0)##0 a==1’b1

I am not clear about what is the next step and how this would result in a match. Do we need to distribute last term (fusion) over all the or terms (which are infinite). In that case, only the third or term (which has a==1 for 3 consecutive clocks) results in a match.
Will that be correct interpretation. Why is a==1’b1 fused with all the terms?

regards,
-sunil puranik