 If the combinators (as well as the variables) are interpreted as subsets of \(\omega\), then function application should take the first set (viewed as a function of type \(P\omega\rightarrow P\omega)\) and apply that to the second set. \(\textrm{fun}(y)\) is a suitable function that is determined by \(y \subseteq\omega\). In general, if \(M\) and \(N\) are CL-terms, and \(I\) is the interpretation of atomic terms into \(P\omega\), then \(I\) is extended to  compound terms by \(I(MN)=\textrm{fun}(I(M))(I(N))\). (E.g., let \(I(x)\) be \(e_9=\{0,3\}\). \(I(\textsf{I}x)=\textrm{fun}(I(\textsf{I}))(I(x))=\{m\colon  \exists e_n\subseteq I(x).\,(n, m)\in I(\textsf{I})\}\). We know what \(I (\textsf{I})\) and \(I(x)\) are; hence, we get further that \(I(\textsf{I}x)= \{m\colon\exists e_n\subseteq e_9.\,m\in e_n\}\). Of course, \(\{0,3\}\subseteq \{0,3\}\), and so we have that \(I(\textsf{I}x)=\{0,3\}\).) This model supports an intensional notion of functions.