19
$\begingroup$

I need to to understand the difference between predicates and functions in the context of Clasual Form Logic in order to define the Herbrand universe.

If I have p(x) :- q(f(x)) would I be right in saying that p and q are predicates while f is a function because it is "nested"? By this thinking then if I have p(x) :- q(x) both p and q are predicates and I have no functions?

If this is incorrect then how can I tell the difference between a predicate and function?

3 Answers 3

21

A predicate is a box that takes an argument and returns a Boolean value. For example, "$x \mapsto x \text{ is even}$".

A function is a box that takes an argument and returns a value. For example, "$x \mapsto x^2$".

Edit (following Amy's suggestions): There is some domain over which all variables range. A function takes zero or more arguments of that domain and returns another argument from that domain. A predicate takes zero or more arguments of that domain and returns a Boolean value.

  • 0
    I don't understand: if a function takes arguments in a domain D and returns another argument in D, then how about a function from R to Q? I think a good distinction is that a predicate is an expression that ascribes a property to some thing or things (to subject(s) in your choice of universe), and has a singleton as input (more than one input, you get a relation). A function from X to Y assigns a single value in Y to each value of X.2011-06-19
2

The terms "Function" and "Predicate" are only and solely determined by the formal system in which those words are being used/defined. In most formalizations of first order predicate logic the words "predicate" and "function" classify two different kinds of signs (the function signs and the predicate signs) each of which follow different rules of use i.e. function signs are different from predicate signs because the rules for using function signs are different from the rules for using predicate signs.

  • 1
    I think symbol is a more common word than sign.2016-02-15
1

A predicate is a function that returns true or false.

Source: https://stackoverflow.com/questions/6337778/predicate-vs-functions-in-first-order-logic

  • 0
    Apologizes for opening an old thread, but I felt to clarify. Thanks :)2013-11-27