% Prolog 分かり易いかどうかは何ともいえないが、冗長なコードの例。
'自然数nの二重階乗を求める'(0,1).
'自然数nの二重階乗を求める'(1,1).
'自然数nの二重階乗を求める'(_m,_x) :-
'_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x).
'_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x) :-
_m > 1,
_m_2 is _m - 2,
'自然数nの二重階乗を求める'(_m_2,_x_2),
_x is _m * _x_2.