f\,x_0\,(f\,x_1\,(f\,x_2\,...(f\,x_{n-1}\,a)))
\forall~k\in~N(g_k = f x_k)とすると
g_0(g_1...(g_{n-1}(a)))
(f.g)\,x=f(g\,x)より
(g_0.g_1.\/...g_{n-1})a
id\,x=xより
(g_0.g_1.\/...g_{n-1}.id)aをfoldrを使って表すと
foldr\,(.)\,id\,[g_0,g_1,...,g_{n-1}]
xs = [x_0,x_1,...,x_{n-1}]とすると
[g_0,g_1,...,g_{n-1}] = map\,f\,xs
(foldr\,(.)\,id\,(map\,f\,xs))\,a
(foldr\,(.)\,id\,.\,map\,f)\,xs\,a
foldr\,f\,a\,.\,map\,g = foldr\,(f\,.\,g)\,aから
(foldr\,((.)\,.\,f)\,id)\,xs\,a
foldrc\,f\,c\,xs=foldr\,((.)\,.\,f)\,c\,xs
ここでxs = []xs = (x:xs)を代入して計算すると

foldrc f c [] = foldr ((.) . f) c []
-- foldr _ c [] = c
foldrc f c [] = c

-- foldrc f c xs = foldr ((.) . f) c xs と 仮定
foldrc f c (x:xs) = foldr ((.) . f) c (x:xs)
{-
   = {foldr}
   ((.) . f) x (foldr ((.) . f) c xs
   = {仮定}
   ((.) . f) x (foldrc f c xs)
   = {(.)}
   ((.) (f x)) (foldrc f c xs)
   = {(.)}
   f x . foldrc f c xs
-}

ゆえに

foldrc             :: (a -> b -> b) -> (c -> b) -> [a] -> c -> b
foldrc _ c []      = c
foldrc f c (x:xs)  = f x . foldrc f c xs

だからといってどうというものでもないが