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, kt + xt - 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".