In reply to santosh manur:
An assertion of the form
a |-> ##[1:$] b;
Can never fail because if “b” is false, other threads of the consequent will be tested.
An assertion of the form
a |-> first_match(##[1:$] b) ##0 c;
Will fail with the sequence b ##0 c occurs.
Rethink the assertion.
Ben