Predicate abstraction

In logic, predicate abstraction is the result of creating a predicate from a sentence. If Q is any formula then the predicate abstract formed from that sentence is (λy.Q), where λ is an abstraction operator and in which every occurrence of y occurs bound by λ in (λy.Q). The resultant predicate (λx.Q(x)) is a monadic predicate capable of taking a term t as argument as in (λx.Q(x))(t), which says that the object denoted by 't' has the property of being such that Q.
The "law of abstraction" states ( λx.Q(x) )(t) ≡ Q(t/x) where Q(t/x) is the result of replacing all free occurrences of x in Q by t. This law is shown to fail in general in at least two cases: (i) when t is irreferential and (ii) when Q contains modal operators.
In modal logic the ""de re" / "de dicto" distinction" is stated as
1. (DE DICTO): formula_1
2. (DE RE): formula_2.
In (1) the modal operator applies to the formula A(t) and the term t is within the scope of the modal operator. In (2) t is "not" within the scope of the modal operator.
References.
For the semantics and further philosophical developments of predicate abstraction see Fitting and Mendelsohn, "First-order Modal Logic", Springer, 1999.