proposition: Lemma insertC j i v u a : i != j -> insert j v (insert i u a) = insert i u (insert j v a).
proof: Proof. move=> h; apply boolp.funext => k; rewrite /insert; case: ifPn => // /eqP <-{k}. by rewrite (negbTE h). Qed.
imports: JMeq mathcomp(all_ssreflect) mathcomp(finmap) mathcomp(classical_sets) monae_lib HB(structures) hierarchy monad_lib fail_lib state_lib trace_lib monad_transformer