自由変数と束縛変数
数学や形式言語に関連する分野(数理論理学と計算機科学)において、自由変数(または自由変項、英: free variable)は数式や論理式で置換が行われる場所を指示する記法である。この考え方はプレースホルダーやワイルドカードにも関連する。
変数x は、例えば次のように書くと 束縛変数(または束縛変項、英: bound variable)になる。
全ての x {\displaystyle x} について ( x + 1 ) 2 ≥ x 2 + 2 x + 1 {\displaystyle (x+1)^{2}\geq x^{2}+2x+1} が成り立つ。
あるいは
x 2 = 2 {\displaystyle x^{2}=2} となるような x {\displaystyle x} が存在する。
これらの命題では、x の代わりに別の文字を使っても論理的には全く変化しない。しかし、複雑な命題で同じ文字を別の意味で再利用すると混乱が生じる。すなわち、自由変数が束縛されると、ある意味ではその後の数式の構成をサポートする作業に関与しなくなる。
プログラミングにおいては、自由変数とは関数の中で参照される局所変数や引数以外の変数を意味する。