Evaluation of a function on its argument
数学 において 、 関数適用とは、 関数をその定義 域 の引数に適用して、その 値域 から対応する値を得る 行為である 。 [1]この意味で、関数適用は関数 抽象化 の反対と考えることができる 。
表現 関数の適用は通常、関数を表す変数と、 括弧 で囲まれた引数を並べて表されます。例えば、次の式は関数 ƒ を引数 x に適用する式を表しています。
f ( x ) {\displaystyle f(x)} 場合によっては、括弧が不要な異なる表記法が使用され、関数適用は単に 並置する だけで表現できます。例えば、次の式は前の式と同じものとみなされます。
f x {\displaystyle f\;x} 後者の表記法は、 カリー化 同型性と組み合わせると特に便利です。関数 が与えられた場合、その適用は 前者の表記法では として表され、 後者の表記法では (あるいは 引数をあまり一般的ではない山括弧で表すと) として表されます。しかし、カリー化された形式の関数は 、引数を ではなく のよう に並べることで表すことができます。これは、関数適用が 左結合的 で あることに依存しています 。 f : ( X × Y ) → Z {\displaystyle f:(X\times Y)\to Z} f ( x , y ) {\displaystyle f(x,y)} f ( x , y ) {\displaystyle f\;(x,y)} f ⟨ x , y ⟩ {\displaystyle f\;\langle x,y\rangle } ⟨ x , y ⟩ ∈ X × Y {\displaystyle \langle x,y\rangle \in X\times Y} f : X → ( Y → Z ) {\displaystyle f:X\to (Y\to Z)} f x y {\displaystyle f\;x\;y} f ( x ) ( y ) {\displaystyle f(x)(y)}
デジタル文書で数学表記を表現する場合、目に見えないゼロ幅の Unicode 文字 U+2061 FUNCTION APPLICATION と U+2062 INVISIBLE TIMES を使用して、関数適用を意味する連結と乗算を意味する連結を区別することができます。
集合論 公理的集合論 、特に ツェルメロ-フランケル集合論 では 、関数は、任意の に対して となるような が唯一存在する という 性質を持つ 関係 ( ) として定義されることが多い 。 f : D ↦ R {\displaystyle f:D\mapsto R} f ⊆ D × R {\displaystyle f\subseteq D\times R} x ∈ D {\displaystyle x\in D} y ∈ R {\displaystyle y\in R} ( x , y ) ∈ f {\displaystyle (x,y)\in f}
通常は、を指定するために 「 」と書くだけでは満足せず 、より一般的な関数表記「 」が望ましいため、関数適用、より具体的には表記「 」は、2項 関数記号 を次のように定義することで許可されます 。 [2] ( x , y ) ∈ f {\displaystyle (x,y)\in f} y {\displaystyle y} f ( x ) = y {\displaystyle f(x)=y} f ( x ) {\displaystyle f(x)} ∙ ( ∙ ) {\displaystyle \bullet (\bullet )}
X ( Y ) = { z if X is a function, and ( Y , z ) ∈ X ∅ otherwise {\displaystyle X(Y)=\left\{{\begin{array}{lll}z&{\text{if }}X{\text{ is a function, and }}(Y,z)\in X\\\varnothing &{\text{otherwise}}\\\end{array}}\right.}
あるいは、より正式には: [3] [4]
X ( Y ) = z ⟺ ( ∃ D , R ( X ∈ R D ∧ ( ( Y , z ) ∈ X ) ) ) ∨ ( ∀ D , R ( X ∉ R D ∨ ( Y , z ) ∉ X ) ∧ z = ∅ ) , {\displaystyle X(Y)=z\iff (\exists D,R(X\in R^{D}\land ((Y,z)\in X)))\lor (\forall D,R(X\notin R^{D}\lor (Y,z)\notin X)\land z=\varnothing ),} ここで、は 集合の累乗 を表します。これは から まで のすべての関数の集合です 。 R D {\displaystyle R^{D}} D {\displaystyle D} R {\displaystyle R}
散文では、定義域 と値域 が存在し、 が から および への関数である場合 、 または ( 前者 の否定) およびが定義されていない 場合に 空集合 を使用するか どうかは任意である。しかし、 は原始関数記号であるため、 の領域 において、 が取る任意の2つのオブジェクト(この場合は集合)に対して定義されなければならない 。 [5] X ( Y ) = z {\displaystyle X(Y)=z} D {\displaystyle D} R {\displaystyle R} X {\displaystyle X} D {\displaystyle D} R {\displaystyle R} ( Y , z ) ∈ X {\displaystyle (Y,z)\in X} z = ∅ . {\displaystyle z=\varnothing .} ∅ {\displaystyle \varnothing } X ( Y ) {\displaystyle X(Y)} ∙ ( ∙ ) {\displaystyle \bullet (\bullet )}
上記の二条件式 の右側の式を とする と 、任意の2つの集合に対して、 この式は 一意のオブジェクト を関連付けます 。 したがって、集合論の言語は 定義により拡張 を用いて、関数適用演算を 保守的に と 組み込むことができます。 Ψ ( X , Y , z ) {\displaystyle \Psi (X,Y,z)} X , Y {\displaystyle X,Y} Ψ {\displaystyle \Psi } z {\displaystyle z} ∀ X , Y ∃ ! z Ψ ( X , Y , z ) {\displaystyle \forall X,Y\,\exists !z\,\Psi (X,Y,z)} ∙ ( ∙ ) {\displaystyle \bullet (\bullet )}
オペレーターとして 関数の適用は、次の定義により 、 apply または と呼ばれる 演算子 として定義できます。 $ {\displaystyle \$}
f $ x = f ( x ) {\displaystyle f\mathop {\,\$\,} x=f(x)} 演算子は バックティック (`) で表記される場合もあります。
演算子の優先順位が低く 、 右結合で あると理解されている場合 、適用演算子を使用して式に必要な括弧の数を減らすことができます。例えば、
f ( g ( h ( j ( x ) ) ) ) {\displaystyle f(g(h(j(x))))} 次のように書き直すことができます。
f $ g $ h $ j $ x {\displaystyle f\mathop {\,\$\,} g\mathop {\,\$\,} h\mathop {\,\$\,} j\mathop {\,\$\,} x} ただし、代わりに関数合成 を使用すると、これをより明確に表現できる可能性があります 。
( f ∘ g ∘ h ∘ j ) ( x ) {\displaystyle (f\circ g\circ h\circ j)(x)} あるいは:
( f ∘ g ∘ h ∘ j ∘ x ) ( ) {\displaystyle (f\circ g\circ h\circ j\circ x)()} を を返す 定数関数 と 考えるとします 。 x {\displaystyle x} x {\displaystyle x}
その他の例 ラムダ計算 における関数の適用は β-還元 によって表現されます 。
カリー ・ハワード対応は関数の適用を モーダスポネンス の論理規則に関連付けます 。
参照
参考文献 ^ Alama, Jesse; Korbmacher, Johannes (2023)「ラムダ計算」、Zalta, Edward N.; Nodelman, Uri (編)、 The Stanford Encyclopedia of Philosophy (Winter 2023 ed.)、Metaphysics Research Lab, Stanford University 、 2024年2月29日 閲覧。 ^ メンデルソン、エリオット (1987). 『数理論理学入門(第3版)』ベルモント: ワズワース社 p. 185. doi :10.1007/978-1-4615-7288-6. ISBN 978-1-4615-7290-9 。 LCCN 86-11084。 ^ サッペス、パトリック (1972). 公理的集合論. インターネットアーカイブ. ニューヨーク、ドーバー出版. p. 87. ISBN 978-0-486-61630-8 。 ^ レヴィ、アズリエル (1979)。基本的な集合論。ベルリン;ニューヨーク: Springer-Verlag。 p. 27.ISBN 978-0-387-08417-6 。 ^ レヴィ、アズリエル (1979)。基本的な集合論。ベルリン;ニューヨーク: Springer-Verlag。 p. 15.ISBN 978-0-387-08417-6 。