Definition Gprog : funspecs :=
spec_pile.specs ++ spec_triang.specs.
Fixpoint decreasing (n: nat) :=
match n with
| O => nil
| S n' => Z.of_nat n :: decreasing n'
end.

Lemma triangular_number:
forall n, 0 <= n ->
sumlist (decreasing (Z.to_nat n)) = n*(n+1)/2.