146 Denotation Precedence

Precedence Operator Associativity Meaning
1 (highest) attribute names, constants, variables, none, unary +, unary -, [E], (...) atomic / prefix unary primary expressions (including unary sign, filter, and tuple path tails)
2 !, ~, :k, :k..m, :?, :+, :k+ postfix pointwise negation, path complement, cardinality constraint
3 ., ⇒, [E], .Σ, .Σexists, .Σcount, .Σmin, .Σmax, ... left-associative path composition (existential, universal, filter)
4 ^ right-associative Power
5 *, / left-associative Multiply and divide
6 +, - left-associative Add and subtract
7 =, ≠, <, >, ≤, ≥, ⊂, ⊃, ⊆, ⊇, ⊄, ⊅, ∈, ∉, is left-associative Comparisons and type tests
8 ⊓, ∩, ⨝ left-associative tuple meet (logical AND)
9 ⊔, ∪, | left-associative tuple join (logical OR), set union, alternative operator
10 set difference, -- left-associative set difference uses the canonical set-minus character described in the lexical grammar, with keyboard backslash accepted as an input alias; -- is path operator difference
11 as left-associative attribute renaming
12 ¬ prefix logical NOT
13 ∧ left-associative logical AND
14 ∨ left-associative logical OR
15 → right-associative logical IMPLIES
16 ↔ left-associative logical equivalence
17 if ... then ... else ... special form conditional expression
18 (lowest) , (inside (…)) left-associative tuple component separator