tavalendo
tavalendo

Reputation: 877

Translation to Predicate Logic (PL) with lexicon

I have the following statement that I would like to translate to predicate logic:

The performance of a push system will vary according to the environment, but the performance of a pull system will always be better.

The following lexicon is given:

P(x, y): x is the performance of y

H(x): x is a push system

L(x): x is a pull system

E(x): x is the environment

V(x, y): x will vary according to y

B(x, y): x will always be better than y

I thought of this translation:

∃x(P(x, H(x)) ⇒ V(x, E(y)) ∧ ∀x(P(x, L(y)) ⇒ B(L(x), H(y))

But, I was told that I cannot supply predicates as arguments to other predicates, and thus P(x, H) as I have done above is not correct. Any suggestions on how to correctly translate the statement? Thanks.

Upvotes: 0

Views: 212

Answers (1)

Mehdi
Mehdi

Reputation: 4318

I am not sure if the question is suitable for StackOverflow. There are two different discussions:

  1. How to represent this sentence in a logical form using the lexical representations above.

  2. How to automatically translate the text into that logical form.

The main question seems to be about how to represent. I will explain the problem with P(x, H(x)).

According to your lexicon, H(x) is representing "x is a push system" therefore H(x) has propositions' type (maybe you call it t-type).

To be even more clear, let's take the representation you asked, P(x, H(x)), and translate it back to English. P(x, H(x)) ==> "x is the performance of H(x)" ==> "x is the performance of 'x is a push system'" ~~> "x is the performance of a proposision about x"

It doesn't make sense because H(x) is representing a proposition and it is different from x itself.

Probably, you want something like: P(x, y) ∧ H(y)

Upvotes: 1

Related Questions