| 146 | | CIVL-C provides the boolean constants`$true` and `$false`, which are simply defined as 1 and 0, respectively. CIVL-C is, after all, an extension of C. A program may also include the standard C library header file `stdbool.h`, which defines `true` and `false` in the exact same way. |
| 147 | | |
| 148 | | In addition to the standard logical operators `&&`, `||`, and `!`, CIVL-C provides `=>` (implies). `p => q` is equivalent to `!(p) || q` (and has the same short-circuit semantics). |
| | 146 | CIVL-C provides the boolean constants`$true` and `$false`, which are simply defined as 1 and 0, respectively. |
| | 147 | CIVL-C is, after all, an extension of C. |
| | 148 | A program may also include the standard C library header file `stdbool.h`, which defines `true` and `false` in the exact same way. |
| | 149 | |
| | 150 | In addition to the standard logical operators `&&`, `||`, and `!`, CIVL-C provides `=>` (implies). |
| | 151 | `p => q` is equivalent to `!(p) || q` (and has the same short-circuit semantics). |
| 160 | | where ''type'' is a type name (e.g., `int` or `double`), ''identifier'' is the name of the bound variable. Moreover, ''restriction'' is a boolean expression which expresses some restriction on the values that the bound variable can take, and ''expr'' is a formula. The universally quantified formula holds iff for all values assignable to the bound variable for which the restriction holds, the formula expr holds. |
| | 163 | where ''type'' is a type name (e.g., `int` or `double`), ''identifier'' is the name of the bound variable, |
| | 164 | ''restriction'' is a formula (boolean expression) which expresses some restriction on the values that the bound variable can take, |
| | 165 | ''range'' is an expression of `$range` type, and ''expr'' is a formula. |
| | 166 | The universally quantified formula holds iff for all values assignable to the bound variable for which the restriction holds, the formula expr holds. |