let rec nb_sub_hom1_a e s =
  match s with
      [] -> 0
    | [e1] -> if (e = e1) then 1 else 0
    | e1::e2::s' ->
        if (e2 = e) or (e1 = e2) then
          (nb_sub_hom1_a e (e2::s'))
        else
          1 + (nb_sub_hom1_a e (e2::s'))