In reply to MICRO_91:
As I mentioned to you in this reply, There are three layers of assertion expressions: Boolean, sequences, and properties. The ternary operator is part of any Boolean expression, lust like any other logical or arithmetic operator. You cannot have sequence or properties inside a Boolean expression. if/else is an operation on properties.
if (boolean_expression) property_expr;
// is equivalent to
booloen_expression |-> property_expr;
Note that the if condition only allows a boolean expression for its antecedent while the implication operator allows a sequence expression.