>>787 がどうしてもちゃんと通るHaskellのコードが見たいってんなら
let fix f = f (fix f)
let arithProgSum n = fix (\f -> \x -> \y -> \z -> if x == y then z else f x (1 + y) (1 + y + z)) n 0 0
と書けば
arithProgSum 3 == 6, arithProgSum 4 == 10, ...

もうスレチはこれで終わりにしようぜ。ヤレヤレ。