Opaque context

An opaque context or referentially opaque context is a linguistic context in which it is not always possible to substitute "co-referential" expressions (expressions referring to the same object) without altering the truth of sentences.

[1] The expressions involved are usually grammatically singular terms.

So, substitution of co-referential expressions into an opaque context does not always preserve truth.

For example, "Lois believes x is a hero" is an opaque context because "Lois believes Superman is a hero" is true while "Lois believes Clark Kent is a hero" is false, even though 'Superman' and 'Clark Kent' are co-referential expressions.

The term is used in philosophical theories of reference, and is to be contrasted with referentially transparent context.

In rough outline: Similar usage of the term applies for artificial languages such as programming languages and logics.