
This work is sponsored by the
Deploy Project

This work is sponsored by the
ADVANCE Project

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Predicates
Rodin User’s Handbook v.2.8
| |
 |
 |
 |
Rodin User’s Handbook v.2.8 |
 |
 |
 |
3.3.2 Predicates
3.3.2.1 Logical primitives
|
true |
True |
|
false |
False |
- Description
The predicates and are the predicates that are true and false respectively.
- WD
3.3.2.2 Logical operators
|
& |
Conjunction |
|
or |
Disjunction |
|
=> |
Implication |
|
<=> |
Equivalence |
|
not |
Negation |
- Description
These are the usual logical operators.
- Definition
The following truth tables describe the behaviours of these operators:
- Types
All arguments are predicates.
- WD
Please note that the operators and are not commutative because their well-definedness conditions distinguish between the first and second argument. Therefore, if their arguments have well-definedness conditions, the order matters. For example, is always well-defined, but still has the well-definedness condition .
3.3.2.3 Quantified predicates
|
! |
Universal quantification |
|
# |
Existential quantification |
- Description
The universal quantification is true if is satisfied for all possible values of . A usual pattern for quantification is where is used to specify the types of the identifiers. The existential quantification is true if a value of exists such that is satisfied. The types of all identifiers must be inferable by . They can be referenced in .
- Types
The quantifiers and the are predicates.
- WD

3.3.2.4 Equality
|
= |
equality |
|
/= |
inequality |
- Description
Checks if both expressions are or are not equal.
- Definition
- Types
and are predicates with and , i.e. and must have the same type.
- WD
3.3.2.5 Membership
|
: |
set membership |
|
/: |
negated set membership |
- Description
Checks if an expression denotes an element of a set .
- Definition
- Types
and are predicates with and .
- WD
|