 So far, PDL is technically similar to a multi-agent epistemic logic (the difference being, besides the symbols used for the modalities, the fact that there are no restrictions on the relations for the basic  programs).[8]  The crucial insight is, however, that basic programs can be composed in order to create more complex ones: one can think of executing one program after another, or repeating some of them a number of times. Thus, these basic modalities are not enough. For this, a new syntactic entity is created: besides formulas, the language of PDL contains a set of basic programs together with program constructors representing those for regular expressions (Kleene 1956). Formally, formulas \(\varphi\) and programs \(\alpha\) of the PDL-language \(\cL_{\textit{PDL}}\) are defined simultaneously via mutual recursion as