proposition: Theorem fold_length_correct : forall X (l : list X), fold_length l = length l.
proof: Proof. Admitted. Definition fold_map {X Y: Type} (f: X -> Y) (l: list X) : list Y . Admitted. Definition manual_grade_for_fold_map : option (nat*string) := None. Definition prod_curry {X Y Z : Type} (f : X * Y -> Z) (x : X) (y : Y) : Z := f (x, y). Definition prod_uncurry {X Y Z : Type} (f : X -> Y -> Z) (p : X * Y) : Z . Admitted. Example test_map1': map (plus 3) [2;0;2] = [5;3;5]. Proof. reflexivity. Qed.