Is the universal quantification symbol $\forall\;$ known as "for any x" or "for all x" in First Order Logic & why is this different to Discrete Math?

1.4k Views Asked by At

I'm reading a book by Mark Tarver called Logic, Proof and Computation.

Chapter 8 (starting p71) is about First Order Logic. On page 77 (of Chapter 8) the author writes:

For any value for 'x', in '(taller x Elton_John)' the resulting proposition is true.

In first order logic this is written

( $\forall x\;$ (taller x Elton_John))

$\forall \;$ is the universal quantifier.

Now when I studied Discrete Maths at Uni 15 years ago - the universal quantifier $\forall\;$ meant for every x.

When I look at functional programming (Lisp, Haskell etc) for all and any are two distinct concepts. In functional programming for all means (every? function elements) and any means (some? function elements). That is the first applies the function to every element regardless of the result of the function, and the latter applies the function lazily, until it returns true.

My question is: Is the universal quantification symbol $\forall\;$ known as "for any x" or "for all x" in first order logic, and why is this different to discrete math?

2

There are 2 best solutions below

2
On BEST ANSWER

The semantics of the English word "any" is quite complex, influenced by whether the verb in (or another part of) the sentence it appears in is negated, whether it is a question, and a lot of other subtle linguistic cues.

This is part of why mathematics has explict quantifiers, such that we can be completely precise about what we mean when there's a risk of misunderstanding.

$\forall x$ always means the same thing. The words "for any" may or may not mean that thing, depending on which context you find them in.

Note that the designers of your Lisp functions wisely refrained from naming one of them any?.

2
On

You question is related to English more than math. It always means "for every $x$,", but in English that's basically equivalent to "for any $x$ that you choose,". In context, that is shortened to "for any $x$," which has basically become a set phrase in mathematics very different from the use of "any" related to those programming languages.