! expressions

For an expression expr of the form ! expr-operand: The definite assignment state of v before expr-operand is the same as the definite assignment state of v before expr. The definite assignment state of v after expr is determined by: If the state of v after expr-operand is definitely assigned, then the state of v after expr is definitely assigned. If the state of v after expr-operand is not definitely assigned, then the state of v after expr is not definitely assigned. If the state of v after expr-operand is "definitely assigned after false expression", then the state of v after expr is "definitely assigned after true expression". If the state of v after expr-operand is "definitely assigned after true expression", then the state of v after expr is "definitely assigned after false expression".