| Symbol | Specification | Kind | Type |
|---|
| # . | set-basic | f | Set('a) → Nat |
| # . | list-data | f | List('a) → Nat |
| # . | stream | f | Stream('a) → Natinf |
| . ! | remtau | f | ('a → Opt('e)) → Stream('a) → Stream('e) |
| . ! | remtau | f | ('a → Opt('e)) → List('a) → List('e) |
| . ' | list | f | 'a → List('a) |
| . + . | nat-basic | f | Nat × Nat → Nat |
| . + . | list-data | f | 'a × List('a) → List('a) |
| . + . | list | f | List('a) × List('a) → List('a) |
| . + . | list | f | List('a) × 'a → List('a) |
| . + . | nat-inf | f | Natinf × Natinf → Natinf |
| . + . | stream | f | 'a × Stream('a) → Stream('a) |
| . + . | stream | f | Stream('a) × Stream('a) → Stream('a) |
| . + . | stream | f | List('a) × (Nat → 'a) → Nat → 'a |
| . + . | remtau | f | Opt('e) × Stream('e) → Stream('e) |
| . ++ . | set-basic | f | Set('a) × 'a → Set('a) |
| . ++ . | list-dup | f | List('a) × 'a → List('a) |
| . +1 | nat-basic | f | Nat → Nat |
| . +2 . | list | f | 'a × 'a → List('a) |
| . - . | nat | pf | Nat × Nat → Nat with λ n, m. n ≥ m |
| . -1 | nat-basic | pf | Nat → Nat with λ n. n ≠ 0 |
| . -1l . | list-del | f | List('a) × 'a → List('a) |
| . -l . | list-del | f | List('a) × 'a → List('a) |
| . -p . | list-del | f | List('a) × Nat → List('a) |
| . .b | Set | pp | SetAction with λ a.
(∃ tid, b. a = ARetMember(tid, b)) ∨ (∃ tid, b. a = ARetInsert(tid, b))
∨ (∃ tid, b. a = ADoInsert(tid, b)) |
| . .b | Set-Test-IOAut | pp | EAction with λ ea. (∃ tid, b. ea = RetMember(tid, b)) ∨ (∃ tid, b. ea = RetInsert(tid, b)) |
| . .butlast | list-last | pf | List('a) → List('a) with λ x. x ≠ [] |
| . .distinct | list-dup | f | List('a) → List('a) |
| . .drop ( . ) | stream | f | (Nat → 'a) × Nat → Nat → 'a |
| . .drop ( . ) | list-del | pf | List('a) × Nat → List('a) with λ x, n. n ≤ # x |
| . .drop ( . ) | stream | pf | Stream('a) × Nat → Stream('a) with λ σ, n. finp(σ) → ⌜n⌝ < # σ ∨ ⌜n⌝ = # σ |
| . .dropRight ( . ) | list-last | pf | List('a) × Nat → List('a) with λ x, n. n ≤ # x |
| . .e | Set | pf | SetAction → Elem with λ a. (∃ tid, e. a = AInvMember(tid, e)) ∨ (∃ tid, e. a = AInvInsert(tid, e)) |
| . .e | opt | pf | Opt('e) → 'e with λ oe. oe ≠ τ |
| . .e | Set-Test-IOAut | pf | EAction → Elem with λ ea. (∃ tid, e. ea = InvMember(tid, e)) ∨ (∃ tid, e. ea = InvInsert(tid, e)) |
| . .ext | IO-Aut-data | f | IOAutomaton('s, 'a, 'e) → 'a → Opt('e) |
| . .f | stream-basic | pf | Stream('a) → Nat → 'a with λ σ. λ m. ∃ nf. σ = ⌜nf⌝ |
| . .foldLeft ( . ) | list | f | List('a) × 'b × ('b × 'a → 'b) → 'b |
| . .getOrElse ( . ) | optfuns | f | Opt('a) × 'a → 'a |
| . .gstate | Set | f | SetState → SetGState |
| . .gstate:= . | Set | f | SetState × SetGState → SetState |
| . .head | list-data | pf | List('a) → 'a with λ x. x ≠ [] |
| . .indexOf ( . ) | list-del | f | List('a) × 'a → Nat |
| . .l | stream-basic | pf | Stream('a) → List('a) with λ σ. finp(σ) |
| . .last | list-last | pf | List('a) → 'a with λ x. x ≠ [] |
| . .lb | Set | p | SetLState |
| . .lb:= . | Set | f | SetLState × Bool → SetLState |
| . .le | Set | f | SetLState → Elem |
| . .le:= . | Set | f | SetLState × Elem → SetLState |
| . .lsf | Set | f | SetState → Tid → SetLState |
| . .lsf:= . | Set | f | SetState × (Tid → SetLState) → SetState |
| . .map ( . ) | list | f | List('a) × ('a → 'b) → List('b) |
| . .n | nat-inf | pf | Natinf → Nat with λ n∞. n∞ ≠ ∞ |
| . .pcf | Set | f | SetState → Tid → SetPC |
| . .pcf:= . | Set | f | SetState × (Tid → SetPC) → SetState |
| . .set | Set | f | SetGState → Set(Elem) |
| . .set:= . | Set | f | SetGState × Set(Elem) → SetGState |
| . .start | IO-Aut-data | f | IOAutomaton('s, 'a, 'e) → 's → Bool |
| . .step | IO-Aut-data | f | IOAutomaton('s, 'a, 'e) → 's × 'a × 's → Bool |
| . .sublist ( . ) | list-del | pf | List('a) × Nat × Nat → List('a) with λ x, n, m. n + m ≤ # x |
| . .tail | list-data | pf | List('a) → List('a) with λ x. x ≠ [] |
| . .take ( . ) | stream | f | (Nat → 'a) × Nat → List('a) |
| . .take ( . ) | list-del | pf | List('a) × Nat → List('a) with λ x, n. n ≤ # x |
| . .take ( . ) | stream | pf | Stream('a) × Nat → List('a) with λ σ, n. finp(σ) → ⌜n⌝ < # σ ∨ ⌜n⌝ = # σ |
| . .take ( . ) | stream | pf | Stream('a) × Natinf → Stream('a) with λ σ, n∞. finp(σ) → n∞ < # σ ∨ n∞ = # σ |
| . .takeRight ( . ) | list-del | pf | List('a) × Nat → List('a) with λ x, n. n ≤ # x |
| . .tid | Set | f | SetLState → Tid |
| . .tid | Set-Test-IOAut | f | EAction → Tid |
| . .tid | Set | pf | SetAction → Tid with λ a. a ≠ τ |
| . .tid:= . | Set | f | SetLState × Tid → SetLState |
| . < . | nat-basic | p | Nat × Nat |
| . < . | list-data | p | List('a) × List('a) |
| . < . | nat-inf | p | Natinf × Natinf |
| . > . | nat | p | Nat × Nat |
| . [ . := . ] | list-getput | pf | List('a) × Nat × 'a → List('a) with λ x, n, a. n < # x |
| . [ . := . ] | stream | pf | Stream('a) × Nat × 'a → Stream('a) with λ σ, n, a. finp(σ) → ⌜n⌝ < # σ |
| . [ . ] | list-getput | pf | List('a) × Nat → 'a with λ x, n. n < # x |
| . [ . ] | stream | pf | Stream('a) × Nat → 'a with λ σ, n. finp(σ) → ⌜n⌝ < # σ |
| . ∈ . | set-basic | p | 'a × Set('a) |
| . ∈ . | list | p | 'a × List('a) |
| . ≤ . | nat | p | Nat × Nat |
| . ≥ . | nat | p | Nat × Nat |
| . ⊆ . | set-basic | p | Set('a) × Set('a) |
| . ⊑ . | list-last | p | List('a) × List('a) |
| . ⊑ . | stream | p | Stream('a) × Stream('a) |
| . ⊒ . | list-last | p | List('a) × List('a) |
| . o . | optfuns | f | ('a → Opt('b)) × ('b → Opt('c)) → 'a → Opt('c) |
| [] | list-data | c | List('a) |
| [] | stream | c | Stream('a) |
| τ | Set | c | SetAction |
| τ | opt | c | Opt('e) |
| ∅ | set-basic | c | Set('a) |
| ∞ | nat-inf | c | Natinf |
| ⊥ | Set | c | Elem |
| ⌜ . ⌝ | opt | f | 'e → Opt('e) |
| ⌜ . ⌝ | stream-basic | f | List('a) → Stream('a) |
| ⌜ . ⌝ | stream-basic | f | (Nat → 'a) → Stream('a) |
| ⌜ . ⌝ | nat-inf | f | Nat → Natinf |
| ADoInsert | Set | f | Tid × Bool → SetAction |
| ADoMember | Set | f | Tid → SetAction |
| AInvInsert | Set | f | Tid × Elem → SetAction |
| AInvMember | Set | f | Tid × Elem → SetAction |
| ARetInsert | Set | f | Tid × Bool → SetAction |
| ARetMember | Set | f | Tid × Bool → SetAction |
| DOINSERT | Set | pr | Bool × Elem : Bool × Set(Elem) |
| DOMEMBER | Set | pr | Elem × Set(Elem) : Bool |
| EAction | Set-Test-IOAut | s | |
| Elem | Set | s | |
| INVINSERT | Set | pr | Elem : Elem |
| INVMEMBER | Set | pr | Elem : Elem |
| IOAut | IO-Aut-data | f | ('s → Bool) × ('s × 'a × 's → Bool) × ('a → Opt('e)) → IOAutomaton('s, 'a, 'e) |
| IOAut? | IO-Automaton | p | IOAutomaton('s, 'a, 'e) |
| IOAutomaton | IO-Aut-data | s | |
| InvInsert | Set-Test-IOAut | f | Tid × Elem → EAction |
| InvMember | Set-Test-IOAut | f | Tid × Elem → EAction |
| List | list-data | s | |
| Nat | nat-basic | s | |
| Natinf | nat-inf | s | |
| Opt | opt | s | |
| RETINSERT | Set | pr | Bool : : Bool |
| RETMEMBER | Set | pr | Bool : : Bool |
| RetInsert | Set-Test-IOAut | f | Tid × Bool → EAction |
| RetMember | Set-Test-IOAut | f | Tid × Bool → EAction |
| Set | set-basic | s | |
| SetAction | Set | s | |
| SetGInv | Set | p | SetGState |
| SetGState | Set | s | |
| SetIOA | Set-Test-IOAut | c | IOAutomaton(SetState, SetAction, EAction) |
| SetInv | Set | p | SetGState × (Tid → Type(SetLState)) × (Tid → Type(SetPC)) |
| SetLInv | Set | p | SetGState × SetLState × SetPC |
| SetLState | Set | s | |
| SetPC | Set | s | |
| SetRely | Set | p | SetGState × Tid × SetGState |
| SetState | Set | s | |
| Stream | stream-basic | s | |
| Tid | tid | s | |
| a | Set-Test-IOAut | v | SetAction |
| al | Set-Test-IOAut | v | List(SetAction) |
| b | Set-Test-IOAut | v | Bool |
| disj | list-dup | p | List('a) × List('a) |
| dummytid | tid | c | Tid |
| dups | list-dup | p | List('a) |
| e | Set-Test-IOAut | v | Elem |
| ea | Set-Test-IOAut | v | EAction |
| el | Set-Test-IOAut | v | List(EAction) |
| exec | IOtrace | f | IOAutomaton('s, 'a, 'e) → Stream('s) × Stream('a) → Bool |
| exec* | IOtrace | f | IOAutomaton('s, 'a, 'e) → List('s) × List('a) → Bool |
| execω | IOtrace | f | IOAutomaton('s, 'a, 'e) → (Nat → 's) × (Nat → 'a) → Bool |
| fillfirst | list-last | f | Nat × 'a × List('a) → List('a) |
| finp | stream-basic | p | Stream('a) |
| frag | IOtrace | f | IOAutomaton('s, 'a, 'e) → Stream('s) × Stream('a) → Bool |
| frag* | IOtrace | f | IOAutomaton('s, 'a, 'e) → List('s) × List('a) → Bool |
| fragω | IOtrace | f | IOAutomaton('s, 'a, 'e) → (Nat → 's) × (Nat → 'a) → Bool |
| frome | list-del | f | List('a) × 'a → List('a) |
| gstate | Set-Test-IOAut | v | SetGState |
| gstepf | Set | f | SetGState × SetLState × SetPC × SetAction → SetGState |
| hd | stream | pf | Stream('a) → 'a with λ σ. σ ≠ [] |
| idle | Set | c | SetPC |
| invInsert | Set | c | SetPC |
| invMember | Set | c | SetPC |
| lsf | Set-Test-IOAut | v | Tid → SetLState |
| lstep | Set | p | SetGState × SetLState × SetPC × SetAction × SetGState × SetLState × SetPC |
| lstepf | Set | f | SetGState × SetLState × SetPC × SetAction → SetLState |
| m | Set-Test-IOAut | v | Nat |
| min | nat-inf | f | Natinf × Natinf → Natinf |
| mkgs | Set | f | Set(Elem) → SetGState |
| mklist | list-last | f | 'a × Nat → List('a) |
| mkls | Set | f | Tid × Elem × Bool → SetLState |
| mkstate | Set | f | SetGState × (Tid → SetLState) × (Tid → SetPC) → SetState |
| move | IOtrace | f | IOAutomaton('s, 'a, 'e) → 's × List('e) × 's → Bool |
| n | Set-Test-IOAut | v | Nat |
| oinj | optfuns | p | ('a → Type(Opt('b))) |
| osurj | optfuns | p | ('a → Type(Opt('b))) |
| pcf | Set-Test-IOAut | v | Tid → SetPC |
| pcstepf | Set | f | SetGState × SetLState × SetPC × SetAction → SetPC |
| pre | Set | p | SetGState × SetLState × SetPC × SetAction |
| retInsert | Set | c | SetPC |
| retMember | Set | c | SetPC |
| rev | list-last | f | List('a) → List('a) |
| s | Set-Test-IOAut | v | SetState |
| setExt | Set-Test-IOAut | f | SetAction → Opt(EAction) |
| setInit | Set | p | SetState |
| setStep | Set | p | SetState × SetAction × SetState |
| sl | Set-Test-IOAut | v | List(SetState) |
| tid | Set-Test-IOAut | v | Tid |
| tl | stream | pf | Stream('a) → Stream('a) with λ σ. σ ≠ [] |
| trace | IOtrace | f | IOAutomaton('s, 'a, 'e) → Stream('e) → Bool |
| trace* | IOtrace | f | IOAutomaton('s, 'a, 'e) → List('e) → Bool |
| traceω | IOtrace | f | IOAutomaton('s, 'a, 'e) → (Nat → 'e) → Bool |