In addition, YAWL adds some syntactical elements to Petri nets in order to intuitively capture other workflow patterns such as "simple choice" (xor-split), "simple merge" (xor-join), and "multiple choice" (or-split). During the design of the language, it turned out that some of the extensions that were added to Petri nets were difficult or even impossible to re-encode back into plain Petri nets. As a result, the original formal semantics of YAWL are defined as a labelled transition system and not in terms of Petri nets. The fact that YAWL is based on formal semantics has enabled the implementation of several techniques for analyzing YAWL processes. In particular, the YAWL system includes a static analysis tool called WofYAWL.