Цитата Сообщение от Владимир Ситников Посмотреть сообщение
Чего чего?
"функция может читать ввод посредством некой другой функции" ?

О чём вообще речь. IO в программе вообще не происходит. Тут же просто сложение.
Скажите, пожалуйста, по какому принципу вы относите эту функцию abcd к нечистым?
Переменная которую использует эта функция глобальная. Её чтение равносильно чтению ввода, потому что к этой переменной имеет доступ любая функция в программе, в том числе и некая (предполагаемая) функция, которая может осуществлять ввод.
То что этого не происходит в вашей конкретной программе не делает эту функцию чистой)
Чистота функции - это свойство самой функции, оно не должно зависеть от того, как устроена ваша остальная программа.