Functions in first-order logic sentences - artificial intelligence:
Functions may be thought of as special predicates, where we think of all but 1 of the arguments as input and the last argument as the output. For each set of things which are classed as the input to a function, there is exactly one output to which they are related by the function. For making it clear that we are dealing with a function, we may use an equality sign. For example, so, if we wanted to say that the cost of an omelette at the Red Lion pub is 5 pounds, normally to express it in first -order logic would probably be:
cost_of(omelette, red_lion, five_pounds)
Because, however , we know this is a function, we can make this clearer:
cost_of(omelette, red_lion) = five_pounds
Because we know that there is just one output for each set of inputs to a function, we allow ourselves to use an abbreviation when it would make things clearer. We can talk about the output from a function without explicitly writing it down but rather replacing it with the left hand side of the equation. For example if we wanted to say that the price of omelettes at the Red Lion is less than the price of pancakes at the House of Pancakes, normally we would write something like this:
cost_of(omelette, red_lion)=X∧cost_of(pancake, house_of_pancakes)=Y ∧less_than(X,Y).
This is fairly messy and involves variables (see next subsection). However, allowing ourselves the abbreviation, we can write it like this:
less_than(cost_of(omelette, red_lion), cost_of(pancake, house_of_pancakes))
which is somewhat easier to follow.