let rec eval env = function
  | Const n -> n
  | Produit (e1, e2) -> eval env e1 * eval env e2
  | Somme (e1, e2) -> eval env e1 + eval env e2
  | Var x -> List.assoc x env;;

(* Exemple *)
eval ["x", 3] ex;;