How common in the industry is the use of 'invar' to signal an invariant, 'ensure' to signal a postcondition, and 'require' to signal a pre-condition ?
.NET Code Contracts (may it rest in peace) uses 'Ensures' and 'Requires' for these meanings as well.
It should hold at both entry and exit of a block, but practically always doesn’t for the entire block.