Instance CompSpecs : compspecs.Definition Vprog : varspecs.Definition Gprog: funspecs := nil.Definition Delta1 : tycontext :=
  ltac:(let x := constr:(func_tycontext f_sumarray Vprog Gprog nil)
         in let y := eval hnf in x
         in exact y).

(* Specifications: *)
Lemma exercise2: forall x, Int.min_signed <= x <= Int.max_signed -> Int.signed (Int.repr x) = x.
Lemma exercise3: forall n, 0 <= n <= Int.max_signed -> Int.min_signed <= 0 <= n.
Lemma exercise3b: forall al: list Z , Zlength al < 50 -> 0 <= Zlength al < Int.max_signed.
Lemma exercise3c: forall i, 0 <= Int.unsigned (Int.repr i) <= Int.max_unsigned.