読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

述語(predicate)というもの

C++

C++でいうところの述語(predicate)というのは、オブジェクトを引数として、そのオブジェクトにある特性があるかないかをbool値で返す関数もしくは関数オブジェクトのことであると理解している。しかしこれってなんで「述語」って言うんだろうね。

英和辞典だとやっぱり「述語」、「述部」、「断定する」とかいう意味となる。英英辞典で調べていくとWiktionaryに次のように書いてあった。

2.(logic) A term of a statement, where the statement may be true or false depending on whether the thing referred to by the values of the statement's variables has the property signified by that (predicative) term.

3.(computing) An operator or function that returns either true or false.

もともと論理学からの意味を元にしているようだね。まあ3.にあるようにtrueかfalseを返す関数という意味もコンピューターの世界では一般化しているのかも。