// Evidence: observations Obs(obs!, time) // Query: Find most likely sequence of states resulting in the observations // In each time step, there is exactly one state and observation State(state!, time) Succ(time, time) // Probability of starting state State(+s, 0) // Transition probabilities State(+s1, t1) ^ Succ(t2, t1) => State(+s2, t2) // Output probabilities Obs(+o, t) => State(+s, t)