Proof using.
unfold update_elections_data_timeout.
intros.
repeat break_match; repeat find_inversion; simpl; auto.
break_match; auto.
Qed.

(* Specifications: *)
Lemma handleClientRequest_preserves_candidateEntriesTerm:
forall net h d t out l,
refined_raft_intermediate_reachable net ->
handleTimeout h (snd (nwState net h)) = (out, d, l) ->
candidateEntriesTerm t (nwState net) ->
candidateEntriesTerm t
(update name_eq_dec (nwState net) h
(update_elections_data_timeout h (nwState net h), d)).
Lemma handleTimeout_preserves_candidateEntries :
forall net h e out d l,
refined_raft_intermediate_reachable net ->
handleTimeout h (snd (nwState net h)) = (out, d, l) ->
candidateEntries e (nwState net) ->
candidateEntries e (update name_eq_dec (nwState net) h (update_elections_data_timeout h (nwState net h), d)).