First-order logic from computational linguistics - implication

71 Views Asked by At

I am reading Natural Language Understanding by James Allen.

It has the following sentence

That John is rich implies that he is happy.

And first-order logic representation as

RICH(JOHN1) $\supset$ HAPPY(JOHN1)

I think it is incorrect and should be written as

RICH(JOHN1) $\subset$ HAPPY(JOHN1)

since rich only subset, there are probably other things that make John happy.

I am quite confident that it is not a typo, but why it is written this way.

1

There are 1 best solutions below

2
On BEST ANSWER

Implication is often used in formal logic to translate "if..., then...".

Thus, "That John is rich implies that he is happy" is the same as : "if John is rich, then he is happy".

"If..., then..." is symbolized with the conditional connective : $\to, \supset, \Rightarrow$.


The symbol $\subset$ is used for the relation of inclusion between sets (or : classes).

In that cases we have e.g. : $\text {Humans} \subset \text {Animals}$.

But $\text {Rich}(\text{John})$ is not the name of a class; it is a sentence : "John is rich".