This change relaxes the grammar in remove-aliases.py so heapPred can match forms where the expression inside ::<...> is optional instead of mandatory. That makes the parser more tolerant of heap predicate variants that omit that segment, which likely avoids failures on valid inputs the script previously rejected. In practice, alias removal should now work across a wider range of heap annotations with fewer parse errors.

Updated the alias-removal parser to allow heap predicates without an expression payload, broadening the accepted input syntax. - zhengqunkoo/hipsleek