Proof using.
induction tr; intros; simpl in *; repeat break_match; subst; eauto.
congruence.
Qed.
Ltac my_update_destruct :=
match goal with
| [H : context [ update _ _ ?x _ ?y ] |- _ ] => destruct (Name_eq_dec x y)
| [ |- context [ update _ _ ?x _ ?y ] ] => destruct (Name_eq_dec x y)
end.

(* Specifications: *)
Lemma last_holder'_server_extend :
forall tr h i,
last_holder' h (tr ++ [(Server, inl i)]) = last_holder' h tr.
Lemma last_holder'_server_extend :
forall tr h i,
last_holder' h (tr ++ [(Server, inl i)]) = last_holder' h tr.