(* Q1 : Programmer une fonction fmap qui prend en argument une liste de fonctions et une liste d'éléments et applique toutes les fonctions une à une à la totalité de la liste. *) fmap : ('a -> 'b) list -> 'a list -> 'b list (* Q2 : Programmer une fonction all qui permet de vérifier qu'une liste d'éléments vérifie bien un ensemble de prédicats lp *) all : ('a -> bool) list -> ' a list -> bool (* Q3 : Programmer une fonction exists qui permet de vérifier qu'une liste d'éléments vérifie bien tous au moins un des prédicats de lp *) exists : ('a -> bool) list -> 'a list -> bool (* Q4 : Programmer une fonction qui calcule le produit scalaire de 2 vecteurs [a1;a2;...; an] et [b1;b2;...;bn]. On programmera une fonction map2 qui calculera la liste des produits et on appliquera ensuite une fonction comme fold pour faire les additions *)