>
categories
→
async/awaitjavascriptdocs

Mark a function async to have it return a promise; inside, await pauses until the awaited promise settles.

→
⟨⟨A⟩⟩φlogicdocs

⟨ ⁣⟨A⟩ ⁣⟩φ\langle\!\langle A\rangle\!\rangle\varphi quantifies over strategies rather than paths: whatever the agents outside AA do, the coalition AA can force φ\varphi. With AA empty it collapses to CTL’s “all paths”; with AA everyone, to “some path”.

→
!Alogicdocs

Multiplicative resources become copyable when marked !A!A, letting you recover classical behaviour where needed.

→
Boolean variablelogicdocs

SAT instances are expressed over Boolean variables; each variable can appear positive or negated in clauses.

→
Code.string_to_quoted/2elixirdocs

Returns {:ok, ast} or {:error, reason}. Use the bang variant Code.string_to_quoted!/1 to raise on parse failure. Every node in the resulting AST is a {form, metadata, args} tuple; pass columns: true and token_metadata: true for full position information.

→
C_G φlogicdocs

CGφC_G \varphi abbreviates the infinite conjunction EGφ∧EGEGφ∧…E_G\varphi \wedge E_G E_G\varphi \wedge \dots, where EGE_G means “everyone in GG knows”. Unattainable over unreliable channels, per the coordinated attack argument.

→
∃x.P(x)logicdocs

Example: ∃x∈R, x2=2\exists x \in \mathbb{R},\ x^2 = 2. In type theory this corresponds to dependent sums.

→
for await...ofjavascriptdocs

Use for await...of on objects implementing Symbol.asyncIterator, including many Node streams and custom async generators.

→
function*javascriptdocs

Generator function declaration syntax. The asterisk (*) indicates the function is a generator that can yield multiple values over time. When called, returns an iterator object. Combined with async, creates async generators for async iteration.

→
HashMaprustdocs

HashMap stores unique keys mapped to values; ownership is transferred into the map, and lookups are O(1) on average. Construct with HashMap::new() or HashMap::from.

→
Iteratorrustdocs

Import via use std::iter::Iterator; and rely on adapters like map, filter, and collect for chaining.

→
K_a φlogicdocs

KaφK_a \varphi holds when φ\varphi is true in every world agent aa cannot distinguish from the actual one. Operators nest: KaKbφK_a K_b \varphi says aa knows that bb knows φ\varphi, the currency in which protocols trade.

→
□φlogicdocs

□φ\square\varphi (also written Gφ\mathbf{G}\varphi) asserts φ\varphi at every state from now on. Safety properties take this shape: □ ¬bad\square\,\neg\mathit{bad}, nothing bad ever happens.

→
◇φlogicdocs

◊φ\lozenge\varphi (also written Fφ\mathbf{F}\varphi) asserts φ\varphi at some state from now on. Liveness properties take this shape: ◊ done\lozenge\,\mathit{done}, something good eventually happens. Dual to □\square: ◊φ≡¬□¬φ\lozenge\varphi \equiv \neg\square\neg\varphi.

→
Macro.prewalk/3elixirdocs

Calls fun.(node, acc) on each node before visiting its children, returning {new_node, new_acc}. Use to collect information from or transform an AST without manually recursing. Macro.postwalk/3 visits children first; Macro.traverse/4 gives both pre- and post-visit hooks.

→
¬xj,t∨¬xj,t′\lnot x_{j,t} \lor \lnot x_{j,t'}logicdocs

In reductions to SAT, mutual exclusion is encoded by pairing negated literals to forbid simultaneous truth assignments.

→
A par Blogicdocs

A⅋BA \mathbin{\parr} B expects a consumer ready for either side, and (A⊗B)⊥=A⊥⅋B⊥(A \otimes B)^{\perp} = A^{\perp} \mathbin{\parr} B^{\perp}.

→
x(y).Ppi-calculusprocess calculusdocs

x(y).Px(y).P waits for a name on channel xx and binds it to yy within PP. The parenthesised yy is a binder, like the λ\lambda in λy.M\lambda y.M: after a communication delivering zz, the receiver continues as P{z/y}P\lbrace z/y\rbrace.

→
0pi-calculusprocess calculusdocs

00 is the process that does nothing. Every finite behaviour bottoms out in 00, and trailing occurrences are conventionally omitted: xˉ⟨y⟩\bar{x}\langle y\rangle abbreviates xˉ⟨y⟩.0\bar{x}\langle y\rangle.0.

→
x̄⟨y⟩.Ppi-calculusprocess calculusdocs

xˉ⟨y⟩.P\bar{x}\langle y\rangle.P offers the name yy on channel xx. The send blocks until a matching input on xx is available; the two synchronise and the sender continues as PP. What travels is always a name, never a process.

→
P | Qpi-calculusprocess calculusdocs

P∣QP \mid Q places two processes side by side. They proceed independently, except where one offers an output and the other an input on the same channel, in which case they may synchronise. Composition is commutative and associative up to structural congruence.

→
!Ppi-calculusprocess calculusdocs

!P!P satisfies !P≡P∣ !P!P \equiv P \mid\, !P: a copy of PP can always be peeled off. Replication supplies unbounded behaviour without recursive definitions; !x(y).Q!x(y).Q is the idiom for a persistent server that handles any number of requests on xx.

→
(νx)Ppi-calculusprocess calculusdocs

(νx)P(\nu x)P (“new xx in PP”) creates a fresh channel visible only within PP. Privacy is not permanent: if PP sends xx to an outside process, the scope of the restriction extrudes to cover the recipient, which is how private connections are established dynamically.

→
P + Qpi-calculusprocess calculusdocs

P+QP + Q offers the initial actions of both branches; the first to communicate wins and the alternative is discarded. A sum of input prefixes, x(y).P+z(w).Qx(y).P + z(w).Q, is the calculus’s analogue of a selective receive over several channels.

→
Promisejavascriptdocs

Promises model async results and support chaining via then() and catch(), or awaiting inside async functions.

→
!Int.?Bool.endsession-typesprocess calculusdocs

Read left to right as the protocol of one endpoint: !T.S!T.S sends a value of type TT and continues as SS; ?T.S?T.S receives one; end\mathbf{end} closes the session. The peer endpoint holds the dual type, ?Int. !Bool. end{?}\mathsf{Int}.\,{!}\mathsf{Bool}.\,\mathbf{end}, every send matched by a receive. Branching protocols add internal choice ⊕{li:Si}\oplus\lbrace l_i : S_i\rbrace and external choice &{li:Si}\&\lbrace l_i : S_i\rbrace over labelled alternatives.

→
A ⊗ Blogicdocs

A⊗BA \otimes B consumes both resources together and is dual to ⅋\parr under linear negation.

→
∀x.P(x)logicdocs

Example: ∀x∈N, x≥0\forall x \in \mathbb{N},\ x \ge 0. In type theory this corresponds to dependent products.

→
Vecrustdocs

Vectors own contiguous elements on the heap and support push/pop; you create them with Vec::new() or vec![] literal syntax.

→
?Alogicdocs

?A?A restores weakening and contraction dually to !A!A, signalling that the resource can be duplicated or discarded.