Proof using rmri.
unfold msg_refined_raft_net_invariant_reboot, commit_invariant.
intros.
match goal with
| [ H : nwState ?net ?h = (?x, ?y) |- _ ] =>
replace x with (fst (nwState net h)) in * by (rewrite H; auto);
replace y with (snd (nwState net h)) in * by (rewrite H; auto);
clear H
end.
intuition.
- unfold commit_invariant_host in *.
intros. repeat find_higher_order_rewrite.
update_destruct_simplify; eapply reboot_preserves_committed; eauto.
- unfold commit_invariant_nw in *.
intros.
unfold mgv_refined_base_params, raft_refined_base_params, refined_base_params in *.
simpl in *.
repeat find_reverse_rewrite.
eapply reboot_preserves_committed; eauto.
Qed.

Lemma maxIndex_sanity_lift :
forall net,
maxIndex_sanity (deghost (mgv_deghost net)) ->
lifted_maxIndex_sanity net.