Suppose you have a Suslin tree $T$ and you have a countable elementary submodel $M$ containing the usual "enough stuff" (including $T$). A comment in Todorcevic's Partition Problems in Topology indicates that a branch of $T$ of height $M \cap \omega_1$ will be generic, i.e., will meet every dense set of $T$ that's an element of $M$. Why? And is the result more general than for Suslin trees? I.e., does it use the fact that their branches are countable (so $M$ knows of no branch of height $M \cap \omega_1$)? Or does it hold for more general partial orders?

2$\begingroup$ Hi Judy. Welcome! $\endgroup$ – Andrés E. Caicedo Mar 22 '12 at 20:56

$\begingroup$ Hi Professor Roitman. It is so cool to see you on mathoverflow. I like your question. $\endgroup$ – user10290 Mar 25 '12 at 19:06
In a Souslin tree, every antichain is countable and hence bounded in the tree. Thus, every maximal antichain is refined by a level of the tree. For this reason, a cofinal branch through a Souslin tree (found anywhere) is the same thing as a generic branch.
In your case, you have the countable elementary substructure $M$, and want to know about $M$genericity. But the same observation works. Every antichain in $M$ is refined by a level of the tree in $M$, and since any branch of the tree of height above $\omega_1\cap M$ goes through all such levels, it will therefore meet every such maximal antichain in $M$, and consequently it will be $M$generic
One key fact for this argument was the fact that the forcing was cccthe antichains were countablebut a powerful generalization of similar ideas is the notion of proper forcing, which can be defined in terms of finding conditions that force $M$genericity for suitable countable elementary submodels.
In answer to Judy's second question, the fact that branches are all countable is not enough to get genericity of any branch of the same height as the elementary submodel. For example, consider the classic Aronszajn tree consisting of onetoone functions from the ordinals to the integers. For any integer k the set of all functions with k in their range is an antichain. However, it is easy to construct a branch going to the top of an elementary submodel without k in its range, hence missing this definable antichain.