fact: Fixpoint fold_left2 (A B C : Set) (f : A -> B -> C -> A) (a : A) (l1 : list B) (l2 : list C) {struct l1} : option A := match l1, l2 with | nil, nil => Some a | b :: t1, c :: t2 => fold_left2 f (f a b c) t1 t2 | _, _ => None end.
imports: List Arith