リスト関数とHardy functionを比較してみました。
Hardy functionの定義は、大きく分けると下の二種類があるようです。
 F[0](x)=x+1
 F[α+1](x)=F[α]^x(x) (αは順序数)
 F[λ](x)=F[Λ(x)](x) (λは極限順序数、Λ(x)はλに収束する基本列)
 H[0](x)=x
 H[α+1](x)=H[α](x+1)
 H[λ](x)=H[Λ(x)](x)
FとHの間には、F[α](x)=H[ω^α](x)という関係が成り立つそうなので、以下ではFを使います。

順序数についての説明。
 自然数を小さい順に並べると、0,1,2,3,…となります。
 そして、あらゆる自然数よりも大きい「数」の中で最小のものをωと表します。
 ωのような「数」を導入しても順序関係は保たれるので、このような「数」を順序数と呼びます。

 ωよりも大きい順序数を順番に考えると、ω,ω+1,ω+2,ω+3,…のようになります。
 ω,ω+1,ω+2,ω+3,…のうちのどの順序数よりも大きい最小の順序数は、ω*2=ω+ωと書けます。
 このとき、ω,ω+1,ω+2,ω+3,…をω*2に収束する基本列と呼びます。
 この基本列をΛ(x)としたときには、Λ(x)=ω+xです。
 また、基本列を用いて定義した順序数を極限順序数と呼びます。
 同様に、ω*3=ω*2+ω, ω*4=ω*3+ω, …という順序数を考えることができます。

 そして、Λ(x)=ω*xという基本列を考えます。
 この基本列のどの数よりも大きい最小の順序数をω^2=ω*ωと書きます。
 ω*a+b(a,bは自然数)に対し、ω*a+b<ω*a+ω=ω*(a+1)<ω*ω=ω^2ですから、ω*a+b<ω^2です。
 そして、ω^2+1,ω^2+2,…と順に考えれば、ω^2+ω, ω^2+ω*n, ω^2*2=ω^2+ω^2, ω^2*nが表せます。
 Λ(x)=ω^2*xを考えると、ω^3=ω^2*ωが表せます。
 同様にω^nを表し、Λ(x)=ω^xを考えればω^ωが定義できます。