| Symbol | Specification | Kind | Type |
|---|---|---|---|
| # . | heap | f | Heap[A] → Nat |
| # . | set-basic | f | Set[A] → Nat |
| . ( . ) | heap | pf | Heap[A] × Ref[A] → A with λ h, r. r ≠ null ∧ r ∈ h |
| . ( . := . ) | heap | pf | Heap[A] × Ref[A] × A → Heap[A] with λ h, r, o. r ≠ null ∧ r ∈ h |
| . + . | nat-basic | f | Nat × Nat → Nat |
| . ++ . | set-basic | f | Set[A] × A → Set[A] |
| . ++ . | heap | pf | Heap[A] × Ref[A] → Heap[A] with λ h, r. r ≠ null ∧ ¬ r ∈ h |
| . +1 | nat-basic | f | Nat → Nat |
| . - . | nat | pf | Nat × Nat → Nat with λ n, m. n ≥ m |
| . -- . | set-union | f | Set[A] × A → Set[A] |
| . -- . | heap | pf | Heap[A] × Ref[A] → Heap[A] with λ h, r. r ≠ null ∧ r ∈ h |
| . -1 | nat-basic | pf | Nat → Nat with λ n. n ≠ 0 |
| . < . | nat-basic | p | Nat × Nat |
| . > . | nat | p | Nat × Nat |
| . \ . | set-union | f | Set[A] × Set[A] → Set[A] |
| . \ . | heapfuns | f | Heap[A] × Set[Ref[A]] → Heap[A] |
| . \ . | heapfuns | f | Heap[A] × Heap[A] → Heap[A] |
| . ∈ . | heap | p | Ref('A) × Heap('A) |
| . ∈ . | set-basic | p | 'A × Set('A) |
| . ∩ . | set-union | f | Set[A] × Set[A] → Set[A] |
| . ∪ . | set-union | f | Set[A] × Set[A] → Set[A] |
| . ∪ . | heapfuns | f | Heap[A] × Heap[A] → Heap[A] |
| . ≤ . | nat | p | Nat × Nat |
| . ≥ . | nat | p | Nat × Nat |
| . ⊆ . | set-basic | p | Set('A) × Set('A) |
| . ⊆ . | heapfuns | p | Heap('A) × Heap('A) |
| . ⊥ . | heapfuns | p | Heap('A) × Heap('A) |
| . exists ( . ) | set-union | p | Set('A) × ('A → Bool) |
| . filter ( . ) | set-union | f | Set[A] × (A → Bool) → Set[A] |
| . forall ( . ) | set-union | p | Set('A) × ('A → Bool) |
| . map ( . ) | set-union | f | Set[A] × (A → B) → Set[B] |
| { . } | set-union | f | A → Set[A] |
| ∅ | heap | c | Heap[A] |
| ∅ | set-basic | c | Set[A] |
| Heap | heap | s | |
| Nat | nat-basic | s | |
| Ref | polyref | s | |
| Set | set-basic | s | |
| alloc# | heap | pr | : Heap[A] → Ref[A] (nondeterministic) |
| d | heapfuns | v | A |
| disjoint | set-union | p | Set('A) × Set('A) |
| dom . | heapfuns | f | Heap[A] → Set[Ref[A]] |
| h | heapfuns | v | Heap[A] |
| hP | heapfuns | v | Heap[A] → Bool |
| null | polyref | c | Ref[A] |
| o | heapfuns | v | A |
| r | heapfuns | v | Ref[A] |
| rs | heapfuns | v | Set[Ref[A]] |