Injections between distinct models of the simply typed lambda calculus

175 Views Asked by At

Let a model of the simply typed lambda calculus be a Cartesian-closed functor from $C_T$ to Set, where $C_T$ is a free CCC (as in e.g. this reference, p. 83.) The simple case of one or two primitive types with no constants or equations is good enough for me.

I'm interested in finding a pair of models $M, N : C_T → \text{Set}$ and a natural transformation $i : M → N$ such that each function $i_X : M(X) → N(X)$ is injective, but not every $i_X$ is surjective. Do such natural transformations exist?