MHB Can Predicate Logic Capture Complex Human Reasoning?

mathmari
Gold Member
MHB
Messages
4,984
Reaction score
7
Hey! :o

I want to formulate the following statements into formulas of predicate logic.
  1. If a bird cannot fly, then not all birds can fly.
  2. What Donald cannot do, can no one do.
  3. John likes everyone, that is older than $22$ years old and that doesn't like those who are younger than $22$ years old.

I have done the following:
  1. $\exists : \neg \text{fly}(x) \rightarrow \neg \forall x : \text{fly} (x)$
  2. $(\exists y) \neg \text{can} (Donald,y) \rightarrow \neg \exists x : \text{can} (x,y)$
  3. $(\forall y)(\forall z): \left ((\text{age}(y) \land (\neg \text{age}(z))\rightarrow \neg P(y,z)\right )\rightarrow P(John, y)$

where fly(x)="x can fly", can(x,y)="x can y", age(x)="x is older than $22$", P(x,y)="x likes y". Is everything correct? (Wondering)
 
Last edited by a moderator:
Physics news on Phys.org
mathmari said:
If a bird cannot fly, then not all birds can fly.
$\exists : \neg \text{fly}(x) \rightarrow \neg \forall x : \text{fly} (x)$
You left out $x$ after $\exists$. I assume the scope of the quantifiers is minimal, i.e., the scope of $\exists x$ ends before $\to$. Otherwise the formula is incorrect.

mathmari said:
What Donald cannot do, can no one do.
$(\exists y) \neg \text{can} (Donald,y) \rightarrow \neg \exists x : \text{can} (x,y)$
I think it is better to say, "What Donald cannot do, no one can do". The main problem with your formula is that the conclusion must refer to the same action as the premise, i.e., the scope of the quantifier that introduces an action must span the whole formula. If my remark after the first formula about the quantifier scope is correct, then the scope of $\exists y$ ends before $\to$ and $y$ cannot be used in the conclusion. Also, the quantifier must be universal: For any action $x$, if Donald cannot do $x$, then for every person $y$, $y$ cannot do $x$ either.

mathmari said:
John likes everyone, that is older than $22$ years old and that doesn't like those who are younger than $22$ years old.
$(\forall y)(\forall z): \left ((\text{age}(y) \land (\neg \text{age}(z))\rightarrow \neg P(y,z)\right )\rightarrow P(John, y)$
I assume this is supposed to say, "John likes everyone who is older than $22$ and who doesn't like those who are younger than $22$". (Please Google "Restrictive clauses".) Here $\forall y$ spans the whole formula, so either you should use parentheses or, if the scope is maximal by convention, then formula 1 is incorrect. The quantifier $\forall z$ must be in the premise, i.e., its scope should be just $\neg \text{age}(z))\rightarrow \neg P(y,z)$. There is a big difference between $\forall z\,(Q(z)\to R)$ and $(\forall z\,Q(z))\to R$. The first formula is equivalent to $(\exists z\,Q(z))\to R$.
 
Evgeny.Makarov said:
You left out $x$ after $\exists$. I assume the scope of the quantifiers is minimal, i.e., the scope of $\exists x$ ends before $\to$. Otherwise the formula is incorrect.

So, we have to use an other variable after $\to$ ?

$\exists x: \neg \text{fly}(x) \rightarrow \neg \forall y : \text{fly} (y)$
Evgeny.Makarov said:
I think it is better to say, "What Donald cannot do, no one can do". The main problem with your formula is that the conclusion must refer to the same action as the premise, i.e., the scope of the quantifier that introduces an action must span the whole formula. If my remark after the first formula about the quantifier scope is correct, then the scope of $\exists y$ ends before $\to$ and $y$ cannot be used in the conclusion. Also, the quantifier must be universal: For any action $x$, if Donald cannot do $x$, then for every person $y$, $y$ cannot do $x$ either.

So, we have to use parentheses, right?

$(\exists x) \left (\neg \text{can} (Donald,x) \rightarrow \forall y : \neg \text{can} (y,x)\right )$

Evgeny.Makarov said:
I assume this is supposed to say, "John likes everyone who is older than $22$ and who doesn't like those who are younger than $22$". (Please Google "Restrictive clauses".) Here $\forall y$ spans the whole formula, so either you should use parentheses or, if the scope is maximal by convention, then formula 1 is incorrect. The quantifier $\forall z$ must be in the premise, i.e., its scope should be just $\neg \text{age}(z))\rightarrow \neg P(y,z)$. There is a big difference between $\forall z\,(Q(z)\to R)$ and $(\forall z\,Q(z))\to R$. The first formula is equivalent to $(\exists z\,Q(z))\to R$.

Why does $\forall y$ span the whole formula, but in the previous cases it wasn't so?

Should it be as follows?

$ \left ((\forall y)(\forall z):\text{age}(y) \land \neg \text{age}(z)\right )\rightarrow \neg P(y,z)\rightarrow P(John, y)$
 
First you need to determine the syntactic convention related to quantifiers used in your course or textbook. There are numerous conventions, such as what to write after $\forall x$ (colon, period, comma or nothing) and whether to surround $\forall x$ with parentheses. Here it is important to determine the scope of quantifiers. Two possible conventions are: the scope is maximal (extends to the extra closing parenthesis or the end of the formula) or minimal. I prefer minimal scope, so $\forall x\,A(x)\land B$ is parsed as $(\forall x\,A(x))\land B$. Some people use a trick that when the variable is followed by a period, the scope changes to maximal, so $\forall x.\,A(x)\land B$ is parsed as $\forall x\,(A(x)\land B)$, but this convention is not universal.

mathmari said:
So, we have to use an other variable after $\to$ ?

$\exists x: \neg \text{fly}(x) \rightarrow \neg \forall y : \text{fly} (y)$
It is not necessary to rename bound variables. (Again, there are different conventions, but most often even nested scopes with the same variable name are allowed.) The variable $y$ inside $\forall y : \text{fly} (y)$ is not visible outside of that subformula. It can be renamed to any variable without changing the meaning of the formula. This is regardless of whether the scope of $\exists$ is maximal or minimal, but when the scope is maximal, the meaning of the formula does not match the English statement.

mathmari said:
So, we have to use parentheses, right?

$(\exists x) \left (\neg \text{can} (Donald,x) \rightarrow \forall y : \neg \text{can} (y,x)\right )$
If the scope is minimal (probably), then yes, parentheses are needed. But I said "For any action $x$; why are you writing $\exists x$?

mathmari said:
Why does $\forall y$ span the whole formula, but in the previous cases it wasn't so?
The first two formulas in post #1 don't have $\forall y$, so I am not sure what you mean.

mathmari said:
Should it be as follows?

$ \left ((\forall y)(\forall z):\text{age}(y) \land \neg \text{age}(z)\right )\rightarrow \neg P(y,z)\rightarrow P(John, y)$
No, please reread my remarks about the scopes of $y$ and $z$. If the scope of $y$ ends after $\neg \text{age}(z)$, as in your last formula, then $y$ in $\neg P(y,z)$ is free.
 
Hi all, I've been a roulette player for more than 10 years (although I took time off here and there) and it's only now that I'm trying to understand the physics of the game. Basically my strategy in roulette is to divide the wheel roughly into two halves (let's call them A and B). My theory is that in roulette there will invariably be variance. In other words, if A comes up 5 times in a row, B will be due to come up soon. However I have been proven wrong many times, and I have seen some...
Thread 'Detail of Diagonalization Lemma'
The following is more or less taken from page 6 of C. Smorynski's "Self-Reference and Modal Logic". (Springer, 1985) (I couldn't get raised brackets to indicate codification (Gödel numbering), so I use a box. The overline is assigning a name. The detail I would like clarification on is in the second step in the last line, where we have an m-overlined, and we substitute the expression for m. Are we saying that the name of a coded term is the same as the coded term? Thanks in advance.
Back
Top