module Analyze import Syntax; set[Id] unreachable(Machine m) { r = { | (State)`state ` <- m.states, (Trans)`: ` <- ts }+; qs = [ q.name | /State q := m ]; return { q | q <- qs, q notin r[qs[0]] }; }