Proof using taifoli rri.
intros.
pose proof (lift_prop _ terms_and_indices_from_one_log_invariant).
unfold terms_and_indices_from_one_log in *.
rewrite <- deghost_spec with (net0 := net). auto.
Qed.

(* Specifications: *)
Lemma terms_and_indices_from_one_vwl_client_request :
refined_raft_net_invariant_client_request terms_and_indices_from_one_vwl.
Lemma doLeader_preserves_committed :
forall (net net' : ghost_log_network) d h os d' ms gd  e t,
doLeader d h = (os, d', ms) ->
nwState net h = (gd, d) ->
(forall h', nwState net' h' = update name_eq_dec (nwState net) h (gd, d') h') ->
lifted_committed net e t ->
lifted_committed net' e t.
Lemma lifted_leader_sublog_nw :
forall net p t n pli plt es ci h e,
refined_raft_intermediate_reachable net ->
In p (nwPackets net) ->
pBody p = AppendEntries t n pli plt es ci ->
type (snd (nwState net h)) = Leader ->
eTerm e = currentTerm (snd (nwState net h)) ->
In e es ->
In e (log (snd (nwState net h))).