Definition update_rounds (non_empty_additional: bool): Z :=
  if non_empty_additional then 2 else 1.

Lemma HMAC_DRBG_update_round_incremental_Z: forall key V initial_state_abs contents i, 0 <= i -> (key, V) = HMAC_DRBG_update_round HMAC256 contents (hmac256drbgabs_key initial_state_abs) (hmac256drbgabs_value initial_state_abs) (Z.to_nat i) -> (HMAC256 (V ++ Byte.repr i :: contents) key, HMAC256 V (HMAC256 (V ++ Byte.repr i :: contents) key)) = HMAC_DRBG_update_round HMAC256 contents (hmac256drbgabs_key initial_state_abs) (hmac256drbgabs_value initial_state_abs) (Z.to_nat (i + 1)).