  Pro-social punishment is a key driver of harmonious and stable society.
However, this institution is vulnerable to corruption since law-violators can
avoid sanctioning by paying bribes to corrupt law-enforcers. Consequently, to
understand how altruistic behavior survives in a corrupt environment is an open
question. To reveal potential explanations here we introduce corrupt enforcers
and violators into the public goods game with pool punishment, and assume that
punishers, as corrupt enforcers, may select defectors probabilistically to take
a bribe from, and meanwhile defectors, as corrupt violators, may select
punishers stochastically to be corrupted. By means of mathematical analysis, we
aim to study the necessary conditions for the evolution of cooperation in such
corrupt environment. We find that cooperation can be maintained in the
population in two distinct ways. First, cooperators, defectors, and punishers
can coexist by all keeping a steady fraction of the population. Second, these
three strategies can form a cyclic dominance that resembles a
rock-scissors-paper cycle or a heteroclinic cycle. We theoretically identify
conditions when the competing strategies coexist in a stationary way or they
dominate each other in a cyclic way. These predictions are confirmed
numerically.
