Predicate logic question with quantifiers

934 Views Asked by At

Question :-

If a user is active, atleast one network link will be available.

$x$:- Domain of all users.

$y$:- Domain of all network links.


Answer given is :- $\exists x(Active(x)) \rightarrow \exists y(Available(y))$


Why can't the below statement be an answer?

$\forall x(Active(x) \rightarrow \exists y(Available(y)))$.

2

There are 2 best solutions below

0
On BEST ANSWER

Your sentence:

$\forall x (Active(x) \rightarrow \exists y (Available(y))$

is missing a ) parenthesis ... and where you put it makes all the difference!

If you meant:

$\forall x (Active(x)\color{red}) \rightarrow \exists y (Available(y))$

then that is not a good translation, since that would mean that at least one network link would be available if all users are active, but the English sentence is the much stronger sentence that says that at least one network link is available if some user is active.

However, if you meant:

$\forall x (Active(x) \rightarrow \exists y (Available(y))\color{red})$

then congratulations, since that is indeed equivalent to the answer! The thinking is: for any arbitrary user: if we find the user is active, then there must be a network link available ... and that means that you need just one active user to get an available network link ... so yes, this also works to capture the english sentence.

In fact, I would argue that an English sentence like 'if a user is active, then ... ' is a contraction of 'for any user, if the user is active, then ...', and is indeed typically best translated as such.

For example, consider the sentence 'If a user is active, then she gets lots accomplished'. If you try to translate this with $\exists x Active(x) \rightarrow LotsAccomplished(x)$, then you suddenly have $x$ as a free variable in the consequent, and if you try to correct for this by extending the scope, you get $\exists x (Active(x) \rightarrow LotsAccomplished(x))$, and that is certainly not what you want! What you want here, is indeed the $\forall x (Active(x) \rightarrow LotsAccomplished(x))$

Long story short: If this is how you were thinking about this problem, then again, congratulations, for that is exactly right!

Indeed, one of the Prenex Laws states that where $\psi $ is any formula that does not have $x$ as a free variable:

$\forall x (\varphi(x) \rightarrow \psi) \Leftrightarrow \exists x \ \varphi(x) \rightarrow \psi$

0
On

Presumably you were asked to translate the English into predicate language. "If a user is active" means there is at least one active user, which corresponds to $\exists$. The statement $\forall x(Active(x))\implies \exists y(Available y))$ would then be true (assuming there is at least one user) because if all the users are active at least one is active, but it is not an accurate translation of the statement. If there are five users and only one is active, the $\forall$ sentence gives me no information about the link status while the $\exists$ sentence tells me there is an available link.