In graph theory Petersen's $2$-factor theorem states the following: Let $G$ be $2k$-regular graph, then $E(G)$ can be decomposed into the union of $k$ line-disjoint $2$-factors https://en.wikipedia.org/wiki/2-factor_theorem
Are loops allowed in this theorem ? If that is the case then in this theorem a a loop on a vertex will be counted as 2 edges originating from that vertex or just one edge ?
If we follow the proof given on Wikipedia, then we can make it work with loops if they contribute $+2$ to the degree of their vertex. Then if we orient the graph, the oriented loop contributes $+1$ to both the in-degree and the out-degree, and the rest of the proof proceeds as usual.
We can also prove the theorem if loops contribute $+1$ to the degree. In this case, for the graph to be $2k$-regular, the number of loops must be even, by the handshake lemma. Pair up the loops arbitrarily, and replace loops at vertices $v,w$ with an edge from $v$ to $w$ for each pair.
Now apply the theorem to find a $2$-factorization of the resulting loop-free graph. For each artificial edge $vw$ we added, delete it from its $2$-factor and instead add loops at $v$ and $w$. This gives us a $2$-factorization of the original graph.
In short, the theorem holds for either convention, as long as we are consistent in applying it in the same way, both when checking if the graph is $2k$-regular, and when checking that each factor in the factorization is $2$-regular.