Ltac copy_eapply_prop_hyp P Q :=
    match goal with
      | [ H : context [ P ], H' : context [ Q ] |- _ ] =>
        copy_eapply H H'
    end.

(* Specifications: *)
Lemma entries_contiguous : forall net p t n pli plt es ci, refined_raft_intermediate_reachable net -> In p (nwPackets net) -> pBody p = AppendEntries t n pli plt es ci -> contiguous_range_exact_lo es pli.
Lemma exists_deghosted_packet : forall net (p : packet (params := raft_refined_multi_params (raft_params := raft_params))), In p (nwPackets net) -> exists q, In q (nwPackets (deghost net)) /\ q = deghost_packet p.
Lemma network_host_entries : forall net p t n pli plt es ci h e e', refined_raft_intermediate_reachable net -> In p (nwPackets net) -> pBody p = AppendEntries t n pli plt es ci -> In e (log (snd (nwState net h))) -> In e' es -> eIndex e = eIndex e' -> eTerm e = eTerm e' -> In e es.
Lemma sorted_app_in_gt : forall l1 l2 e e', sorted (l1 ++ l2) -> In e l1 -> In e' l2 -> eIndex e' < eIndex e.
Lemma Prefix_In : forall A (l : list A) l' x, Prefix l l' -> In x l -> In x l'.