induction ls; intuition; simpl in *.
unfold setLet in *.
destruct (in_dec eqd a u).
intuition; subst; intuition.
intuition; subst.
simpl.
intuition.
Qed.
Definition optSwap (A : Set)(opt : option (A * A)) :=
match opt with
| None => None
| Some (a1, a2) =>
Some (a2, a1)
end.

(* Specifications: *)
Theorem optSwap_involutive :
forall (A : Set)(opt : option (A * A)),
optSwap (optSwap opt) = opt.