Identifiers are used to name different kinds of language objects such as nodes, hyperedges or variables. Identifiers may contain letters, numbers, underscores, and dollar signs but must begin with a letter or an underscore.
Accordingly, the following identifiers are all valid,
Accordingly, the following identifiers are all valid: ``mynode1``, ``_SolarPlant_2`` and ``HydroStorage_a``.
Besides these lexical requirements, identifiers must also be unique in their respective scope. Hence, no two nodes may have the same identifier since this would prohibit the unambiguous identification of a particular node.
Similarly, variables and parameters may not have the same identifier as a node or other variables and parameters belonging to the same node.
@@ -113,7 +113,7 @@ To illustrate these features, let *file3.txt* be a GBOML input file from which a
#CONSTRAINTS
A.x[t] + B.x[t] >=6;
Let :math:`\texttt{H}` be the identifier of the hyperedge that should be imported. Let us consider a second file named *file4.txt* in which :math:`\texttt{H}` should be re-named as :math:`\texttt{H\_1}` and link two nodes named :math:`\texttt{C}` and :math:`\texttt{D}`. This file is given as follows:
Let :math:`\texttt{H}` be the identifier of the hyperedge that should be imported. Let us consider a second file named *file4.txt* in which :math:`\texttt{H}` should be re-named as ``H_1`` and link two nodes named :math:`\texttt{C}` and :math:`\texttt{D}`. This file is given as follows: