fact: Definition splice (fs : FinProd T) (a : A) (ta : T a) := finprod (fun t => if decP (t =P a) is left pf then cast T pf ta else sel t fs).
imports: Coq(ssreflect ssrbool ssrfun Eqdep) mathcomp(ssrnat seq eqtype choice fintype) pcm(options axioms) Coq(Classes.Morphisms Program.Basics Program.Tactics) Coq(Relations)