不透明な文脈、または指示的に不透明な文脈とは、文の真偽を変えることなく「共指示的」表現(同じ対象を指す表現)を置き換えることが常に可能とは限らない言語的文脈のことである。 [ 1 ] 関係する表現は通常、文法的に単数形の語である。したがって、共指示的表現を不透明な文脈に置き換えても、必ずしも真偽が保たれるとは限らない。例えば、「ロイスはxがヒーローだと信じている」は不透明な文脈である。なぜなら、「ロイスはスーパーマンがヒーローだと信じている」は真であるが、「ロイスはクラーク・ケントがヒーローだと信じている」は偽であり、「スーパーマン」と「クラーク・ケント」は共指示的表現であるにもかかわらず、そうであるからである。
この用語は参照に関する哲学的 理論で用いられ、参照的に透明な文脈とは対照的なものである。
不透明なケースでは、「メアリーはキケロが偉大な雄弁家だと信じている」という文は不透明な文脈を生み出します。キケロは「トゥリー」とも呼ばれていましたが、[ 2 ]この文脈(「メアリーはトゥリーが偉大な雄弁家だと信じている」)で単に「キケロ」を「トゥリー」に置き換えて同じ真偽値を保証することはできません。なぜなら、メアリーは「トゥリー」と「キケロ」という名前が同じものを指していることを知らないかもしれないからです。もちろん、メアリーがキケロが偉大な雄弁家だと信じているのであれば、たとえ「トゥリー」と「キケロ」が同じものを指していることを知らなくても、メアリーがトゥリーを偉大な雄弁家だと信じているという意味があります。これは、固有名詞の意味は単にその指示対象であると主張する固有名詞の「直接指示」理論によって私たちに押し付けられる意味です。
透明な文脈では、「キケロはローマの雄弁家であった」という文は透明な文脈を生み出します。ここで「キケロ」を「トゥリー」に置き換えても問題ありません。「トゥリーはローマの雄弁家であった」。キケロとトゥリーが同一人物を指している場合、どちらの文も必然的に同じことを表現します。この要素は不透明な文脈では欠けており、名前が変わるだけで元の文とは異なることを表現する文になってしまう可能性があることに注意してください。
同様の用語の使い方は、プログラミング言語や論理などの人工言語にも当てはまります。上記のキケロとトゥッリウスの例は簡単に適用できます。 表記法を使用します。用語に言及する引用として述語を定義するこれは、6文字の長さの用語に当てはまります。不透明な文脈を誘発する、または参照的に不透明であるのは、真である一方は偽です。プログラミング言語は論理学の真偽の意味論よりも豊かな意味論を持つことが多く、そのため、次のような演算子はその他の理由によっても、参照透過性を満たさない場合がある。