Есть такое полезное правило: процедура должна корректно обрабатывать нулевой случай (пустой список, пустое множество и т.п.).

Практическая полезность имеет тут место быть примерно по той же причине, что и в случае цифры нуль, хотя и не в таком масштабе.

Несколько раз возникало желание, чтобы были возможны массивы нулевой длины, -- как раз такой "нулевой случай".

Желание на первый взгляд странное, но возражения против него подобны простодушному возражению против нуля: зачем иметь обозначение для отсутствия подсчитываемых предметов ))

Предположим, что определение языка ослабляется так, чтобы разрешить массивы нулевой длины.
Впечатление, что это никак не повлияет на существующий софт -- или я чего-то не вижу?

Кстати, вопрос можно было бы пустить по линии верификации программ.

PS
На вопрос повлиял свежий коммент С.Волкова о том, что он работает с Обероном, взыскуя научности ))