In reply to dave_59:
requirements are ambiguous. However,
// "I have written assertion to wait in same state st = A when cnt is less than 5."
// Reading into your requirements:
// When state goes into 'A', it shall stay in that state for a total of 5 cycle.
// (i.e., for 4 more cycles)
// BTW, use upper case for states enumerations, it's a convention
property cnt_p;
@(posedge clk) disable iff (rst)
$rose(st == A) |-> ##1 st==A [*4] ##1 st !=A; // updated
endproperty
cnt_assert : assert(cnt_p);