  Cooperation is widespread in human societies, but its maintenance at the
group level remains puzzling if individuals benefit from not cooperating.
Explanations of the maintenance of cooperation generally assume that
cooperative and non-cooperative behavior in others can be assessed and copied
accurately. However, humans have a well known capacity to deceive and thus to
manipulate how others assess their behavior. Here, we show that hypocrisy -
claiming to be acting cooperatively while acting selfishly - can maintain
social cooperation because it prevents the spread of selfish behavior. We
demonstrate this effect both theoretically and experimentally. Hypocrisy allows
the cooperative strategy to spread by taking credit for the success of the
non-cooperative strategy.
