fact: Fixpoint map2 (l1 : list A) (l2 : list B) {struct l1} : list C := match l1, l2 with | b1::tl1, b2::tl2 => (f b1 b2)::(map2 tl1 tl2) | _, _ => nil end.
imports: List Bool NArith Psatz Int63 Nnat ZArith Misc ProofIrrelevance