let fetch_and_create_state name = 
  try  
    Hashtbl.find observed_states name
  with
    Not_found -> 
      let s={ name=name;
              acceptation=False; init=False;
              nums=(Hashtbl.length observed_states) } in
      Hashtbl.add observed_states name s;
      s