proposition: Lemma omfU f k e h : C k -> f (upd k e h) = if map_fun f (k, e) is Some v then upd k v (f h) else free (f h) k.
proof: Proof. by case: f=>s [m X] /= N; rewrite !X omapU N. Qed.
imports: Coq(ssreflect ssrbool ssrfun) mathcomp(ssrnat eqtype seq path bigop) pcm(options prelude finmap seqperm pred seqext) pcm(pcm morphism)