Section inner.
Variable client : clientId.
Variable id : nat.
Proof using.
intros. unfold key_in_output_trace in *.
break_exists_exists.
intuition. do_in_app; intuition.
exfalso. eauto.
Qed.
Proof using.
intros.
unfold key_in_output_list in *.
break_exists; do_in_app; intuition eauto.
Qed.
Proof using.
intuition.
unfold key_in_output_list in *.
break_exists; intuition.
Qed.

Lemma doLeader_key_in_output_list :
forall st h out st' m,
doLeader st h = (out, st', m) ->
~ key_in_output_list client id out.