proposition: Lemma valid_splice (T : finType) (Us : T -> pcm) (tag : T) (x : FinProd Us) v : valid x -> valid v -> valid (splice x tag v).
proof: Proof. move=>V V'; apply/forallP=>z; rewrite sel_fin. case: decP=>?; first by subst z; rewrite eqc. by rewrite valid_sel. Qed.
imports: Coq(ssreflect ssrbool ssrfun) mathcomp(ssrnat eqtype seq bigop fintype finset) pcm(options axioms prelude seqperm pred seqext)