A fundamental result of Büchi states that the set of monadic second-order formulas true in the structure (Nat, <) is decidable. A natural question is: what monadic predicates (sets) can be added to (Nat, <) while preserving decidability? Elgot and Rabin found many interesting predicates P for which the monadic theory of Nat, <, P is decidable. The Elgot and Rabin automata theoretical method has been generalized and sharpened over the years and their results were extended to a variety of unary predicates. We give a sufficient and necessary model-theoretical condition for the decidability of the monadic theory of (Nat, <, P1, ..., Pn). We reformulate this condition in an algebraic framework and show that a sufficient condition proposed previously by O. Carton and W. Thomas is actually necessary. A crucial argument in the proof is that monadic secondorder logic has the selection and the uniformization properties over the extensions of (Nat, <) by monadic predicates. We ...