Proof using.
intros. unfold doLeader, advanceCommitIndex in *.
repeat break_match; find_inversion; intuition eauto using key_in_output_list_empty.
Qed.

(* Specifications: *)
Lemma handleInput_key_in_output_list :
forall st h i os st' m,
handleInput h i st = (os, st', m) ->
~ in_output_list client id out os.
Lemma handleInput_key_in_output_list :
forall st h i out st' m,
handleInput h i st = (out, st', m) ->
~ key_in_output_list client id out.