\subsubsection{Expressions}
Expressions in Promela can be:
\begin{itemize}
    \item Variables, constants, and literals
    \item Structure and array accesses
    \item Unary and binary expressions with operators. The operators correspond to the \texttt{C} operators
    \item Function applications
    \item Ternary operators / conditional expressions \texttt{E1 -> E2 : E3}
\end{itemize}
Promela has a number of built in functions, which are:
\begin{multicols}{5}
    \begin{itemize}
        \item \texttt{len()}
        \item \texttt{empty()}
        \item \texttt{nempty()}
        \item \texttt{full()}
        \item \texttt{nfull()}
        \item \texttt{run <proc>}
        \item \texttt{eval()}
        \item \texttt{enabled()}
        \item \texttt{pcvalue()}
    \end{itemize}
\end{multicols}
