fact: Fixpoint findCollision(A B : Set)(eqda : EqDec A)(eqdb : EqDec B)(ls : list (A * B)) : option (A * A * B) := match ls with | nil => None | (a, b) :: ls' => let a' := (findCollision_1 _ _ ls' a b) in match a' with | None => (findCollision _ _ ls') | Some p' => Some (a, p', b) end end.
imports: FCF PRF SplitVector cAU CompFold DetSem SemEquiv