is the observation, ascribed to Larry Wall
, that some systems, such as human and computer
languages, contain a minimum amount of complexity, and that attempting to "push down" the complexity of such a system in one place will invariably cause complexity to "pop up" elsewhere. This behavior is likened to a waterbed
mattress which contains a certain amount of water; it is possible to push down the mattress in one place, but the displaced water will always cause the mattress to rise elsewhere, because water does not compress
. It is impossible to push down the waterbed everywhere at once, because the volume of the water remains a constant.
Waterbed theory has been cited as a significant part of the design philosophy of Perl 6.