I don't understand these sentences about concurrent assertion and simulation event

In reply to dave_59:

Thanks to your reply.

I misunderstand sampling values in the preponed region. Thanks to you, I could understand.

In the example above, in the preponed region, a has a value of 0, b is 1, and in the reactive region, the values of a and b are 0. $sample returns the values of preponed region. The action block of assertion is executed in the reactive region. So the action block of a1_bad reports “a = 0, b = 0” and the action block of a2_ok reports “a = 0, b = 1”.

Please confirm that my understanding is correct.

thank you.