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

Lemma update_char add_len contents (HL:add_len = Zlength contents \/ add_len = 0) (key1 V0 : list byte) additional reseed_counter entropy_len prediction_resistance V key0 reseed_interval (H : (key1, V0) = HMAC_DRBG_update_round HMAC256 (contents_with_add additional add_len contents) key0 V (Z.to_nat (if (negb (Memory.EqDec_val additional nullval) && negb (initial_world.EqDec_Z add_len 0))%bool then 2 else 1))): hmac256drbgabs_hmac_drbg_update (HMAC256DRBGabs key0 V reseed_counter entropy_len prediction_resistance reseed_interval) (contents_with_add additional add_len contents) = HMAC256DRBGabs key1 V0 reseed_counter entropy_len prediction_resistance reseed_interval.