# Translating statements into predicate logic?

In the logical programming class I was given an example:

Everyone who is sane can learn. Insane people cannot study in university. Does this imply that everyone who cannot learn, cannot study in the university?

Define the following predicates

S(x) - x is sane

L(x) - x can learn

N(x) - x cannot study in university

Then the theory is:

1. S(x) => L(x) //Everyone who is sane can learn
2. ~S(x) => N(x) //Insane people cannot study in university
3. ~L(p) // person p cannot learn

Implication: N(p) // person p cannot study in university ?

The answer is: true, p cannot study in university

The homework problem says:

The king thinks that the queen thinks that she is insane. Is the king insane?

I defined the predicate T(x) - x thinks (x is sane), thinking = sanity

1. T(k) => T(q) // the king thinks that the queen thinks
2. T(q) => ~T(q) // the queen thinks she is insane

Implication: ~T(k) // the king is insane?

The answer is: true, the king is insane.

I'm sure this model is incorrect, and I would really appreciate if someone helped me with this.

Thank you!

-
It's bad manners to let a predicate be a negative sentence. –  Git Gud Feb 17 '13 at 14:25
$GitGud$ No it isn't. In symbolically rendering English into FoL, just expose as much structure as is needed for the case in hand. –  Peter Smith Feb 17 '13 at 14:27
@PeterSmith I didn't say it was wrong. –  Git Gud Feb 17 '13 at 14:32

With your key for rendering the English into the language of first order logic, the two given premisses translate as

$$\forall x(S(x) \to L(x))$$ $$\forall x(\neg S(x) \to N(x))$$

and you are asked whether these entail the following conclusion:

$$\forall x(\neg L(x) \to N(x)).$$

And that conclusion indeed follows.

For take someone $a$ such that $\neg L(a)$. Then by the first premiss we know $S(a) \to L(a)$ whence $\neg S(a)$. By the second premiss $\neg S(a) \to N(a)$, whence $N(a)$.

So by conditional proof we have shown $\neg L(a) \to N(a)$. Since $a$ was arbitrary we can generalize to get the desired conclusion.

[One comment: in most modern dialects of the language of first-order logic, we would write e.g. $Sa, Nx, \neg Lx$ etc, without further brackets after the predicate letter.]

So far so good. But as to the second example, something hopelessly confusing is going on here. 'The King thinks that $p$' engenders an intentional context. Standard first-order logical syntax can't handle intentional contexts. [You can, as you do(?), have an extensional predicate $T$ meaning "thinks", without a content clause. But note that your $T(q) \to \neg T(q)$ renders "if the queen thinks, she doesn't think" which isn't what you want at all.]

-
I think the OP is using an "implicit" (un-translated) identification of "thinking = sanity", and if so, should have a predicate Sx: x is Sane, with a premise $\forall x(Tx \leftrightarrow Sx)$, but like you, I think intentionality isn't handled well, if at all, by first-order logical syntax. –  amWhy Feb 17 '13 at 14:39