Section Phi.
(** Variant of [phi] via [recrbis] *)
Let Phi := fun b (_:int31) =>
match b with D0 => Z.double | D1 => Z.succ_double end.
Definition phibis_aux n x := recrbis_aux n _ Z0 Phi x.
(** Recursive equations satisfied by [phi] *)
End Phi.
(** [phi x] is positive and lower than [2^31] *)
Hint Resolve phi_nonneg : zarith.

Lemma phi_lowerbound :
forall x, firstl x = D1 -> (2^(Z.of_nat (pred size)) <= phi x)%Z.