monadic second-order logics