Proof using rmri.
intros.
apply committed_lifted_committed.
find_apply_lem_hyp lifted_committed_committed.
unfold mgv_deghost in *.
eauto using committed_ext'.
Qed.

Lemma doLeader_spec :
forall st n os st' ms,
doLeader st n = (os, st', ms) ->
(st' = st /\ ms = []) \/
(type st = Leader /\
log st' = log st /\
type st' = type st /\
currentTerm st' = currentTerm st /\
nextIndex st' = nextIndex st /\
commitIndex st' = commitIndex (advanceCommitIndex st n) /\
forall m, In m ms ->
exists h, h <> n /\ m = replicaMessage (advanceCommitIndex st n) n h).