# delay

SBML Level 2 uses the MathML `<csymbol>` element to denote
certain built-in mathematical entities without introducing reserved names
into the model's component identifier namespace. The *delay*
`<csymbol>` represents a delay function. The delay function has the form *delay(x, d)*, taking
two MathML expressions as arguments. Its value is the value of argument
*x* at *d* time units before the current time. There are no
restrictions on the form of *x*. The units of the *d* parameter are
determined from the overall *time* units of the model. The value of the
*d* parameter, when evaluated, must be numerical (i.e., a number in
MathML real, integer, or "e-notation" format) and be greater than or equal
to 0. The *delay* function is useful for representing biological
processes having a delayed response, but where the detail of the processes
and delay mechanism is not relevant to the operation of a given model.

The following example XML fragment encodes the equation
*k + delay(x, 0.1)*, or alternatively, *k _{t} + x_{t - 0.1}*:

<math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <plus/> <ci> k </ci> <apply> <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/delay"> delay </csymbol> <ci> x </ci> <ci> 0.1 </ci> </apply> </apply> </math>

In SBML, the encoding attribute of `<csymbol>`
must be set to "`text`".