Definition update {A B : Type} (A_eq_dec : forall x y : A, {x = y} + {x <> y}) st h (v : B) := 
  fun nm => if A_eq_dec nm h then v else st nm.

Lemma update_nop_ext' : forall (sigma : A -> B) y v, sigma y = v -> update A_eq_dec sigma y v = sigma.