  We propose urgency programs, a new programming model with support for
alternation, imperfect information, and recursion. The novelty are urgency
annotations that decorate the (angelic and demonic) choice operators and
control the order in which alternation is resolved. We study standard notions
of contextual equivalence for urgency programs. Our first main result are fully
abstract characterizations of these relations based on sound and complete
axiomatizations. Our second main result settles their computability via a
normal form construction. Notably, we show that the contextual preorder is
(2h-1)-EXPTIME-complete for programs of maximal urgency h when the regular
observable is given as an input resp. PTIME-complete when the regular
observable is fixed. We designed urgency programs as a framework in which it is
convenient to formulate and study verification and synthesis problems. We
demonstrate this on a number of examples including the verification of
concurrent and recursive programs and hyper model checking.
