Instance CompSpecs : compspecs.Definition Vprog : varspecs.Fixpoint fib_of_nat (n: nat): Z :=
  match n with
  | O => 0
  | S n' =>
    match n' with
    | O => 1
    | S n'' => fib_of_nat n'' + fib_of_nat n'
    end
  end.Definition fib_of_Z (n: Z): Z := fib_of_nat (nat_of_Z n).

Theorem fib_rec: forall n, n >= 0 -> fib_of_Z (n + 2) = fib_of_Z n + fib_of_Z (n + 1).