namespace ame {
  namespace patterns {
    struct recognition;
    struct semantic_event;

    template<typename ObservationDistribution , 
             typename Probability  = double> 
      class semantic_recognition_task;

    enum traceback_beginning { from_end_vertex, from_most_likely_vertex };
  }
}