domains l=integer predicates sil(l, l) clauses sil(0, 1). sil(N, W):-N1=N-1, sil(N1, W1), W=N*W1.