let nb_sub_hom1_f e s =
(** loop1: on n'est pas dans une suite de 'e' *) |
let rec loop1 s =
match s with
[] -> 0
| e'::s' ->
if (e' = e) then (loop2 s)
else (loop1 s')
(** loop2 on est dans une suite de 'e' *) |
and loop2 s =
match s with
[] -> 1
| [e'] -> 1
| e'::s' ->
if (e' = e) then (loop2 s')
else 1 + (loop1 s)
in
(loop1 s)