Low level, "fun", logic problem (Could this be moved to discrete math, sorry)

• Jan 28th 2013, 02:11 PM
fogownz
Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
Here is the problem:
"Lest you think logic is only about mathematics here are some sentences from some, at least once, popular songs.

B(x) : x is a body
O(x): x is out.
D(x): x is down
L(x,y): x loves y.
x = y: x equals y.
u = you
b = my baby
m = me

Translate the following using logical connectives:

a. "Nobody loves you when you are down and out."
b. "Everybody loves somebody"
c. "Everybody loves my baby."
d. "But my baby don't love nobody but me."

This is a relatively frustrating problem considering we have barely been introduced to the fundamentals of logic. I took a stab at it, and quickly realized that I was just guessing and as a result probably teaching myself an incorrect way of doing it. Here is my attempt at problem a. $D(u)\wedge O(u)\rightarrow \neg L(B(x),u)$
• Jan 28th 2013, 03:44 PM
Plato
Re: Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
Quote:

Originally Posted by fogownz
Here is the problem:
"Lest you think logic is only about mathematics here are some sentences from some, at least once, popular songs.
B(x) : x is a body
O(x): x is out.
D(x): x is down
L(x,y): x loves y.
x = y: x equals y.
u = you
b = my baby
m = me

Translate the following using logical connectives:
a. "Nobody loves you when you are down and out."
b. "Everybody loves somebody"
c. "Everybody loves my baby."
d. "But my baby don't love nobody but me."Here is my attempt at problem a. $D(u)\wedge O(u)\rightarrow \neg L(B(x),u)$

Frankly, I would prefer that the domain be specified as the set of humans. That would eliminate the need for $B(x)$. But that said, you made a start.

Try $(\forall x)[B(x) \wedge D(u) \wedge O(u) \Rightarrow \neg L(x,u)]$

I really find the predicate $B(x)$ problematic here.
If we knew that the domain be specified as the set of humans we could shorten that to:
$(\forall x)[D(u) \wedge O(u) \Rightarrow \neg L(x,u)]$
• Jan 28th 2013, 04:33 PM
Deveno
Re: Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
Quote:

Originally Posted by Plato
Frankly, I would prefer that the domain be specified as the set of humans. That would eliminate the need for $B(x)$. But that said, you made a start.

Try $(\forall x)[B(x) \wedge D(u) \wedge O(u) \Rightarrow \neg L(x,u)]$

I really find the predicate $B(x)$ problematic here.
If we knew that the domain be specified as the set of humans we could shorten that to:
$(\forall x)[D(u) \wedge O(u) \Rightarrow \neg L(x,u)]$

just think of body as an undefined term. less sordid that way :P
• Jan 28th 2013, 06:53 PM
fogownz
Re: Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
Thanks for your help Plato. Is it wrong to put an element (right term?) inside an element such as I had in my original answer with L(B(x),u), or was it just not right in that instance?
• Jan 28th 2013, 10:58 PM
Deveno
Re: Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
you can nest predicates.
• Jan 29th 2013, 11:53 AM
emakarov
Re: Low level, "fun", logic problem (Could this be moved to discrete math, sorry)
Quote:

Originally Posted by Deveno
you can nest predicates.

No, in first-order logic you cannot nest predicates. You can nest function symbols. Your example has constants but no function symbols, but if we add, say, a two-argument function symbol f, then f(u, f(f(b, u), m)) is a legal term. Terms, however, have to appear as arguments to predicate (or, relation symbols) to form formulas.