[Math] a predicate exactly in predicate logic

first-order-logiclogicpredicate-logic

I have been reading Predicate Logic couple of days and while everything has been pretty intuitive so far I understood that I do not exactly understand what the predicate is. This became clear after I tried to understand the computation of truth conditions for the following sentence:

"Every person works."

Starting computing truth conditions from expression:

∀x(person(x) -> work(x))
[[ ∀x(person(x) -> work(x)) ]]M,g = 1
[[ person(x) ]]M,g[x/a] = 0 OR [[ work(x) ]]M,g[x/a] = 1
g[x/a](x) ⊄ Vm(person) OR g[x/a](x) ⊂ Vm(work)

we eventually come to the following part:

iff a ⊄ Vm(person) OR a ⊂ Vm(work)

The moment where my confusion became obvious is this part, what is person here exactly?
I understand predicates as functions. If predicate is a function it should accept some value and return some other value and predicates in FOL are functions that return True OR False. In the example above person is a predicate thus a function. It should accept some value and return True OR False like person(a) for example.

So I understood this line as "iff a returns False for person and returns True for work" then this whole statement stands True. However my classmate told me that here person is a set in our Universe. How can a function represent a set, which is a collection of elements? Moreover how can a set return True and False values? So now I am confused how can a predicate be a set?

Best Answer

In first-order logic, a predicate is a symbol of the language.

According to Gottlob Frege - one of the "founding fathers" of modern logic - the meaning of a predicate is exactly a function from the domain of objects to truth-values : "the True" and "the False".

Thus, the predicate $philosopher(x)$ denotes a function such that :

$philosopher(Socrates)=$"the True"

and :

$philosopher(Bach)=$"the False".

In modern view of logic, the meaning of a predicate is a subset of the domain, i.e. the set of all objects of the domain such that the predicate holds of them. In "traditional" terms, an (unary) predicate corresponds to a property.

Thus, the meaning of the predicate $philosopher(x)$ is the set $Philosophers$, i.e. the set of all philosophers, so that :

$philosopher(Socrates)$ holds because $Socrates \in Philosophers$ (while $Bach \notin Philosophers$).

Related Question