In denotational semantics, you want to be able to map each of your language terms to some object in your semantic domain or model. Now, it cannot be any arbitrary domain/model as you like, but, informally speaking, something that gives a good intuition about how the language works (its computational behavior).
Milner tried to formalize what this "intuition" should be and called it full abstraction. Formally, a model is fully abstract if all observationally equivalent terms in the object language represent the same object in the model. Equationally:
$$\text{if } ⟦t_1⟧ = ⟦t_2⟧ \text{then } t_1 \rightsquigarrow t_2 $$
where $\rightsquigarrow$ represents observational equivalence. In case of lambda-calculus observational equivalence would be $\beta\eta\alpha$ conversions and $⟦\_⟧$ is the denotation function.
There are few papers that you might want to take a look at if you are interested in seeing some full abstract models of lambda like languages:
- Plotkin's paper that gives a full abstract model of the lambda like language called LCF
- Mulmuley's paper gives a full abstract model of typed lambda calculus.
- Hyland and Ong's papers give a full abstract model of PCF using game semantics