 In the simple example above about line-directions, the abstraction operator d( ) is a function sign, and does not bind any variables. But with numerical abstractions, matters are subtly different. Here, the abstraction operator #, meaning “the number of …”, can be deployed in two different ways. On the one hand, it can be a function symbol: if F is a predicate (resp., a second-level variable), then #F is a singular term denoting the number of things falling under F (resp., in the extension assigned to the second-level  variable).[11]  On the other hand, the operator #x can be applied to the open sentence Φ(x) with x free, thereby binding the variable x. The complex term thus formed is read as “the number of  Φs”.[12] 