二つの変数 x と y があり、入力 x に対して、出力 y の値を決定する規則(x に特定の値を代入するごとに y の値が確定する)が与えられているとき、変数 y を「x を独立変数 (independent variable) とする関数」或いは簡単に「x の関数」という。
http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0_%28%E6%95%B0%E5%AD%A6%29

ラムダ関数はともかく、数学の関数の定義だと内部では状態を持ってもいいように読める。
そうならば数学上、不必要な制限がついてることになる。
純粋、あるいは関数といえるほどの数学の基礎があるのか、Lispにはラムダ関数の拡張という基盤がある。
こちらの方が純粋な関数なのではないか。