複合項を作るか、関数子とアリティを決定する。
もし、複合項 が複合項ならば、関数子は、 複合項の関数子で、アリティ は、 複合項のアリティとなる。
もし、複合項 がアトミック項 (an アトム or a 数) ならば、関数子
は、そのアトミック項で、アリティ は、0となる。
もし、複合項 が変数ならば、関数子は、アトミック項、アリティは 0 から 127 までの整数でなければならない。
もし、<関数子>はアトムでないなら、そのアリティでなければならない。
複合項 複合項 または アトミック項 関数子 アトミック項 アリティ 整数 または 整数表現 (0 から 127 まで)
| functor(f(a,b,c),F,A). | F <- f, A <- 3 の代入で、成功。 |
| functor(X,functor,3). | X <- functor(_1, _2, _3) の代入で、成功。 |
| functor(f(X),f,2). | 失敗 |
この述語は、ISO-Prolog 標準に含まれる。