proposition: Lemma read_map : forall A B C (IB:Inhab B) (IC:Inhab C) (f:A->B->C) M x, x \indom M -> (map_ f M)[x] = f x (M[x]).
proof: Proof. Proof using. introv Hx. lets Hx': indom_inv_app_neq_none (rm Hx). unfold map_. simpls. unfolds read_impl. destruct (M x); auto_false. Qed.
imports: TLC(LibTactics LibLogic LibReflect LibOption LibRelation LibLogic LibOperation LibEpsilon LibMonoid LibSet)