diag=Diag[ar[1,3],ar[4,6],ar[5,2]]

p=Times @@ (diag /. ar[i_,j_] :>eq[i,j-1]eq[i-1, j]ltheq[i-1, i])

p=(p 
/. {rule=Cases[p, eq[i_, j_]:> (i->j), Infinity, 1];
eq[ij__] :> (eq[ij] /. rule),
ltheq[ij__] :> (ltheq[ij] /. rule)
}
/. {
eq[i_,i_] -> 1
}
)

p=Times @@ (diag /. ar[i_,j_] :>eq[i,j-1]eq[i-1, j]ltheq[i-1, i]);
While[!FreeQ[p, eq],
p = (p 
/. Cases[p, eq[i_, j_]:> (i->j), Infinity, 1]
/. {
eq[i_,i_] -> 1
}
)
]

p

l=Length[indices=Union@@ Cases[{p}, ltheq[i_, j_] :> {i, j}, Infinity]]

indices

ineqs= p /. e_ltheq :> (e /. Thread[indices -> Range[l]])

Expand[Plus @@ (Times[
ineqs /. ltheq[i_, j_] :> Switch[
Order[#[[i]],#[[j]]],
1, 1,
0, 1/2,
-1, 0
],
Binomial[n, Max[#]]
]& /@ OrderTypes[l])]

Wgl[diag]