Section Update2.
Variables A B : Type.
Hypothesis A_eq_dec : forall x y : A, {x = y} + {x <> y}.
Proof using.
unfold update2.
intros.
break_if; intuition congruence.
Qed.
Proof using.
unfold update2.
intros.
break_if; intuition congruence.
Qed.
Proof using.
unfold update2.
intros.
break_if; intuition congruence.
Qed.
Proof using.
unfold update2.
intros. break_if; intuition congruence.
Qed.
Proof using.
intros. subst.
unfold update2.
break_if; intuition congruence.
Qed.
Proof using.
intros. subst.
unfold update2.
break_if; intuition congruence.
Qed.
Proof using.
intros.
rewrite update2_eq; auto.
Qed.

Lemma update2_nop_ext :
forall (sigma : A -> A -> B) x y,
update2 A_eq_dec sigma x y (sigma x y) = sigma.