placement of, 16, 29, 55
definitions, overriding(, 35
definitions, overriding), 35
difference, set (\), 46
disjunction (∨), 44
disjunctions, bulleted list of, 45
division, integer (÷), 43
do (clause of while statement), 23
domain (TLA
+
operator), 47
domain of a function, 47
Done (implicit label), 16
not usable as label, 30
either (PlusCal statement), 22
when label must follow, 22, 30
else (clause of if statement), 21
elsif (clause of if statement), 22
empty set, 46
enabled, 38, 52
enabling condition, 61
end of module, 8
END TRANSLATION, 8
equivalence (≡), 44
error
found by TLC, 36
found by translator, 33
missing label, 34
multiply-defined symbol, 20, 31,
32
Error (implicit label), 27
not usable as label, 30
Euclid’s algorithm, 6
eventually (3), 54
except (TLA
+
construct), 49
used in translation, 34, 61
exclusion, mutual, 16
execution of multiprocess algorithm,
26
existential quantification, 45
exponentiation, 43
expression
changed by translator, 34
evaluating with Toolbox, 43
not parsed by translator, 33
PlusCal, 20, 43–51
extends (TLA
+
statement), 7
factorial, definition of, 55
failure of assertion, 25
fair (PlusCal construct)
for sequential algorithm, 39
--fair algorithm (PlusCal construct),
39
fair process (PlusCal construct), 38,
64
fair+ process (PlusCal construct),
39, 64
fairness, 38, 52
for non-blocking action, 38
strong, 38
weak, 38
false, 44
Fast Mutual Exclusion Algorithm, 12
FastMutex (PlusCal algorithm), 13,
60
field of record, 48
file name, 7
FiniteSets module, 47
formal parameters of a procedure, 26
initializing, 37
formula, temporal, 51
function, 47
domain of, 47
of multiple arguments, 48
recursive definition of, 55
gcd, 6, 11
Goldbach’s conjecture, 5
Gonthier, Georges, 2
goto (PlusCal statement), 25
75