de bruijns theorem