In combinatorial mathematics, rotation systems (also called combinatorial embeddings or combinatorial maps) encode embeddings of graphs onto orientable surfaces by describing the circular ordering of a graph's edges around each vertex. A more formal definition of a rotation system involves pairs of permutations; such a pair is sufficient to determine a multigraph, a surface, and a 2-cell embedding of the multigraph onto the surface. Every rotation scheme defines a unique 2-cell embedding of a connected multigraph on a closed oriented surface (up to orientation-preserving topological equivalence). Conversely, any embedding of a connected multigraph G on an oriented closed surface defines a unique rotation system having G as its underlying multigraph. This fundamental equivalence between rotation systems and 2-cell-embeddings was first settled in a dual form by Lothar Heffter in the 1890s and extensively used by Ringel during the 1950s. Independently, Edmonds gave the primal form of the theorem and the details of his study have been popularized by Youngs. The generalization to multigraphs was presented by Gross and Alpert. Rotation systems are related to, but not the same as, the rotation maps used by Reingold et al. (2002) to define the zig-zag product of graphs. A rotation system specifies a circular ordering of the edges around each vertex, while a rotation map specifies a (non-circular) permutation of the edges at each vertex. In addition, rotation systems can be defined for any graph, while as Reingold et al. define them rotation maps are restricted to regular graphs. Formal definition Formally, a rotation system is defined as a pair (σ, θ) where σ and θ are permutations acting on the same ground set B, θ is a fixed-point-free involution, and the group <σ, θ> generated by σ and θ acts transitively on B. To derive a rotation system from a 2-cell embedding of a connected multigraph G on an oriented surface, let B consist of the darts (or flags, or half-edges) of G; that is, for each edge of G we form two elements of B, one for each endpoint of the edge. Even when an edge has the same vertex as both of its endpoints, we create two darts for that edge. We let θ(b) be the other dart formed from the same edge as b; this is clearly an involution with no fixed points. We let σ(b) be the dart in the clockwise position from b in the cyclic order