数学、および数理論理学やコンピュータサイエンスなど、形式言語を扱う他の分野では、変数は自由変数または束縛変数のいずれかであると言えます。古い書籍の中には、自由変数と束縛変数をそれぞれ実変数と見かけ変数と呼ぶものもあります。自由変数とは、式の中で置換が行われる可能性のある場所を指定する記号であり、その式または他のコンテナ式のパラメータではありません。この概念は、プレースホルダー(後で何らかの値に置き換えられる記号)や、指定されていない記号を表すワイルドカード文字に関連しています。
コンピュータプログラミングにおいて、「自由変数」とは、関数内で使用される変数のうち、その関数のローカル変数でもパラメータでもない変数を指します。この文脈では、「非ローカル変数」という用語が同義語として用いられることもよくあります。
対照的に、変数記号のインスタンスは、その変数記号の値が議論領域または宇宙内の特定の値または値の範囲に束縛されている場合、束縛されていると言えます。これは、論理量化子、変数束縛演算子、または変数に許容される値の明示的な記述(たとえば、「...ここで」)を使用することによって実現できます。は正の整数です。)
同じ変数記号が式の中で複数箇所に現れることがあるため、変数記号の出現箇所によっては自由変数となる場合もあれば、束縛変数となる場合もある。[ 1 ] : 78したがって、「自由」と「束縛」は、まず出現箇所ごとに定義され、次に式中の当該変数記号のすべての出現箇所に一般化される。変数記号全体としては、少なくとも1つの出現箇所が自由変数であれば自由変数である。 [ 1 ]
多くの文脈において議論の領域は理解されているものの、束縛変数の値の範囲が明示的に指定されていない場合は、式を適切に評価するために領域を指定する必要があるかもしれません。例えば、両方の変数が論理量化子によって束縛されている次の式を考えてみましょう。
この式は、ドメインがそしては実数ですが、定義域が複素数の場合は真となります。
「ダミー変数」という用語は、境界変数(コンピュータサイエンスよりも一般数学でより一般的)にも用いられることがあるが、統計学、特に回帰分析で用いられる、名前は同じだが関連性のないダミー変数の概念と混同してはならない。[ 2 ] p.17
自由変数と束縛変数の正確な定義を述べる前に、定義よりもこれらの概念をより明確にすると思われる例をいくつか挙げます。
より広い文脈では、束縛変数は数学的証明の構造において基本的な役割を果たします。例えば、次の証明は、任意の正の偶数の2乗が4で割り切れることを示しています。
させては任意の正の偶数とする。定義により、整数が存在する。そのためこれを平方の式に代入すると、。 以来は整数です。も整数です。したがって、4で割り切れる。
この証明では、そして束縛変数として機能するが、束縛の仕方が異なる。[ 3 ]
変数は、集合の任意だが特定の要素として導入される。「Let は、be...」は暗黙のうちに全称量化子として機能し、証明の範囲内で。証明はこの単一の任意のものに対してある性質を確立する。これは、この性質がすべての正の偶数に対して成り立つという一般的な結論を導き出すものである。[ 4 ]
変数一方、は存在量化子(「整数が存在する」)によって束縛される。「」。これは、定義によって存在が保証される、特定の、ただし名前のない整数を表すために導入されます。均等であること。その導入に続く論理に限定される。[ 5 ]
したがって、どちらの変数も自由ではなく、その意味は証明の論理構造における役割によって完全に決定される。
数学や論理学では、多くの記号が変数束縛演算子として機能します。これらの演算子は、関数または開いた式を引数として受け取り、その式内の自由変数を特定の値域または範囲に束縛し、束縛された変数に依存しない意味を持つ新しい式を作成します。[ 6 ]
一般的な変数束縛演算子には以下が含まれます。
いずれの場合も、変数xは演算子の後に続く式の中に束縛されます (例:またはこれらの演算子の多くは、束縛変数の関数に作用します。標準的な表記法で十分な場合が多いですが、ネストされた演算子を含む複雑な式は、特に同じ変数名が再利用される場合、曖昧になる可能性があります。これは、自由変数として意図された変数が、別のスコープの演算子によって誤って束縛されるという、変数キャプチャと呼ばれる問題につながる可能性があります。[ 7 ]
このような曖昧さを避けるために、演算子を高階関数として扱い、束縛を明示する表記法に切り替えることが有効です。ラムダ計算の原理に基づいたこのアプローチは、操作される関数と演算子自体を明確に分離します。[ 8 ]
例えば:
ここで、オペレーター集合Sと関数fに適用されます。
この表記法は、演算子が関数全体に適用されます単に表現としてではなくたまたま変数である。

変数束縛メカニズムは、数学、論理学、コンピュータサイエンスのさまざまな文脈で発生します。しかし、いずれの場合も、それらは式とその中の変数の純粋に構文的な特性です。このセクションでは、式を葉ノードが変数、定数、関数定数、または述語定数であり、非葉ノードが論理演算子である木と同一視することで構文を要約できます。この式は、木を順走査することで決定できます。変数束縛演算子は、ほぼすべての形式言語に現れる論理演算子です。束縛演算子2 つの引数を取ります: 変数そして表現、そしてその引数に適用すると新しい式が生成される束縛演算子の意味は言語のセマンティクスによって規定されるため、ここでは考慮する必要はありません。
変数バインディングは、次の3つの要素を関連付けます。変数場所式内のその変数と非葉ノードについて形式式における位置は構文木の葉ノードとして定義されることに注意してください。変数の束縛は、その位置がノードの下にある場合に発生します。。
ラムダ計算では、xは項 の束縛変数でありM = λx. T、項 の自由変数ですT。xは で束縛されM、 で自由であると言いますT。Tが部分項を含む場合λx. U、 はxこの項で再び束縛されます。 のこの入れ子になった内側の束縛は、外側の束縛を「隠蔽」すると言われます。におけるxの出現は、新しい の自由な出現です。[ 9 ]xUx
プログラムの最上位レベルで束縛された変数は、束縛されている項内では技術的には自由変数ですが、固定アドレスとしてコンパイルできるため、特別な扱いを受けることがよくあります。同様に、再帰関数に束縛された識別子も、その関数本体内では技術的には自由変数ですが、特別な扱いを受けます。
閉じた項とは、自由変数を含まない項のことである。
数学における変数束縛演算子の明確な例は、関数定義です。関数を定義する式は、例えば次の式の右辺のようになります。
変数をバインドします表現関数本体を構成する要素には、変数の一部、すべて、またはまったく含まれない場合があります。これらは形式パラメータです。関数定義に拘束されます。本体また、他の変数も含まれる可能性があり、それらは自由変数とみなされ、その値はより広い文脈から決定されなければならない。[ 6 ]
その表現これはラムダ計算におけるラムダ式と直接類似しており、シンボルは基本的な変数束縛演算子です。たとえば、関数定義ラムダ抽象化と同等[ 8 ]
同じ定義で、定義される関数を名前にバインドします。は、数学のテキストでは一般的に次の形式で書かれます。
他の数学演算子は、変数を束縛する高階関数として理解できます。たとえば、総和演算子、は、関数と、その関数を評価するための集合を受け取る演算子として分析できます。式は次のとおりです。
項内の変数xを束縛する束縛のスコープは、総和記号の後に続く項です。この式は、以下の式をより簡潔に表記したものとみなすことができます。
ここ、は2つのパラメータを持つ演算子です。1つのパラメータを持つ関数(この場合、)とセットその関数を評価するために。
他の演算子も同様の方法で表現できます。全称量化子これは、ブール値関数の論理積に評価される演算子として理解できます。(無限の場合もある)集合の各要素に適用される同様に、積演算子()、極限演算子()、および積分演算子()これらはすべて変数バインダーとして機能し、変数を結合します。そしてそれぞれ指定された領域にわたって。[ 10 ]
形式意味論の観点から分析すると、自然言語は形式論理やコンピュータ科学に見られるものと類似した変数束縛のシステムを示す。[ 11 ]このシステムは、特に代名詞などの指示表現が文や談話の中でどのように解釈されるかを規定する。 [ 12 ]
英語では、he、she、theyなどの人称代名詞やその変形(her、himなど)は自由変数として機能することができます。[ 13 ]自由変数とは、その指示対象が文の直接的な統語構造内で決定されず、言語的または状況的(語用論的)なより広い文脈によって特定されなければならない用語です。[ 14 ]
次の文を考えてみてください。
リサは自分の本を見つけた。
所有代名詞herは自由変数です。その解釈は柔軟で、文中の実体であるLisaを指す場合もあれば、発話の文脈で目立つ他の女性個人を指す場合もあります。 [ 12 ]この曖昧さにより、主に 2 つの解釈が生じ、これらは共参照添え字を使用して形式的に表現できます。[ 15 ]同じ添え字は共参照を示し、異なる添え字は表現が異なる実体を指していることを示します。
この区別は単なる理論上の演習ではありません。いくつかの言語では、これら2つの読みを区別するために異なる代名詞形式が用いられています。例えば、ノルウェー語とスウェーデン語では、共指示的な読み(her i )には再帰所有格sinを用い、非共指示的な読み( her j )には非再帰的な形式hennes(スウェーデン語)を用います。[ 16 ]
英語の標準的な代名詞にはこのような明確な区別はないが、強調所有格のownを使うことで共指示的な解釈を強制することができる。[ 17 ]
人称代名詞とは対照的に、再帰代名詞(例:himself、herself、themselves)と相互代名詞(例:each other )は束縛変数として機能し、言語学では照応詞としても知られています。[ 15 ]束縛変数は、特定の統語領域内の先行詞と共索引され、c統語される必要がある表現です。[ 15 ]
次の文を考えてみましょう。
ジェーンは自傷行為をした。
再帰代名詞herself は、節の主語であるJaneを指し示さなければなりません。他の個人を指し示すことはできません。[ 12 ]この必須の共参照は、束縛変数の特徴です。
この束縛関係は、形式意味論で関数の抽象化と適用をモデル化するために用いられるラムダ計算のツールであるラムダ式を用いて形式的に表現できる。[ 18 ]この文は次のように表すことができる。
(λx.x hurt x)(Jane)この表記法では:
λxは変数 を束縛するラムダ演算子ですx。x hurt xは述語であり、引数を受け取り、その引数が自身を傷つけたことを示す関数です。(Jane)これは関数に適用される引数です。この表現は「ジェーンはジェーンを傷つけた」と評価され、動詞の主語と目的語が同一の存在であるという事実を正しく捉えている。[ 18 ]
代名詞と照応詞の独特な振る舞いは、ノーム・チョムスキーの『統治と束縛理論』の中心的な要素である束縛理論によって体系的に説明される。[ 15 ]この理論は、異なる種類の名詞句の解釈を支配する3つの原理を提唱している。
変数束縛の概念は、 every student、some political、no oneなどの数量名詞句(QNP)を理解するために不可欠です。[ 18 ]固有名詞とは異なり、これらの句は特定の実体を指しません。代わりに、個人の集合に対する量を表します。[ 18 ] QNP は、そのスコープ内に含まれる代名詞を束縛することができ、代名詞を束縛変数にします。
どの生徒も自分が賢いと思っている。
この文では、代名詞heは束縛変数として解釈するのが最も自然である。[ 21 ]その指示対象は、「すべての学生」で示される集合内の個人と共変動する。この文は、すべての学生が特定の人物(例えばピーター)を賢いと思っているという意味ではなく、むしろ、個々の学生について、、思う賢い。統語論では、これはしばしば量化子上昇(QR)のプロセスによって分析され、QNPは論理形式の抽象的な統語レベルで、代名詞をc-命令して束縛する位置に移動します。[ 21 ]
変数束縛は、疑問文や関係節の形成で起こるwh移動の分析においても中心的な役割を果たします。[ 22 ] who、what、whichなどのWh語は、主節の変数を束縛する演算子として機能します。[ 23 ]
これらの構造では、wh語は基底の位置から移動し、「痕跡」を残すと言われています。これは束縛変数として扱われます。[ 15 ]この質問の意味は、「どの人に対して」と言い換えることができます。ジョンは好きですか?。[ 18 ]同様に、関係節は個体の集合を表す。「メアリーは見た「. [ 18 ]
自由変数と束縛変数の区別は、VP省略の下で生じる特定の曖昧さに対する強力な説明を提供する。[ 24 ] [ 25 ]次の文を考えてみよう。
ジョンは母親を愛しているし、ビルもそうだ。
この文には2つの異なる解釈がある。
この曖昧さは、最初の節における代名詞hisの地位によって説明できる。 [ 19 ]
λx.x loves x's mother不正確な同一性解釈の存在は、自然言語の文法における束縛変数解釈の心理的現実の強力な証拠と考えられている。[ 26 ]
したがって、自然言語における代名詞やその他の指示表現の分布と解釈はランダムではなく、洗練された統語的および意味論的システムによって支配されている。[ 12 ]
自由変数と束縛変数の区別は、現代言語理論の基礎であり、共参照、数量化、疑問文の形成、省略などを説明するために必要な分析ツールを提供する。
{{cite journal}}: CS1メンテナンス: DOIは2026年7月現在非アクティブです(リンク){{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)