Solving First Order Logic w/ Huey, Dewey, Louie: Age, Color & Design

Agaton
Messages
26
Reaction score
0
Could anyone help me with this?

Donald and Daisy Duck took their nephews, age 4, 5, and 6, on an outing. Each boy wore a tee-shirt with a different design on it and of a different color. You are also given the following information:
■ Huey is younger than the boy in the green tee-shirt.
■ The 5-year-old wore the tee-shirt with the camel design.
■ Dewey’s tee-shirt was yellow.
■ Louie’s tee-shirt bore the giraffe design.
■ The panda design was not featured on the white tee-shirt.

And,

Use the language containing the constants huey, dewey, louie, 4, 5, 6, green, yellow, white, camel, giraffe, and panda; the function symbols age/1, color/1, and design/1; and the predicate symbols Nephew/1, = /2 and < /2.

Questions:

(a) Represent these facts as sentences in FOL.
(b) Using your formalization, is it possible to conclude the age of each boy together with the color and design of the tee-shirt he is wearing? Show semantically how you determined your answer.
(c) If your answer was “no,” indicate what further sentences you would need to add so that you could conclude the age of each boy together with the color and design of the tee-shirt he is wearing.

Thanks in advance.
 
Physics news on Phys.org
What do you get for (a)? I'm not sure how you're expected to do this without a way to refer to the shirts that the boys were wearing. If you add a function shirt/1, the first one could be:

(1) forall x [(color(shirt(x)) = green) -> (age(huey) < age(x))]

Does that look reasonably familiar to you? What about the others?
 
Thank you honestrosewater,

Your translation of first sentence helped me to do the rest as follow:

a)Representing facts as sentences in FOL.

(1) ∀x [(color (Shirt (x)) =green) → (age (huey) < age (x))]

(2) ∀x [(age(x) = 5) → (design, shirt(x)= camel)]

(3)Ex dewey(x) /\ shirt (x) = yellow

(4) Ey louie (y) /\ (design, shirt (y) = giraffe)

(5) Ex z(shirt) /\ white(color(z)) /\ (design (z) =/ panda)


Are these correct? I was not really sure whether I need to use existential quantifier for 3 and 4, but i used it anyway. If these are correct, ten I need to proceed to part B, that is to conclude the color/design(shirt), and age of the boys. What do you think? Thank you.
 
Does "design, shirt(x)" express function composition? I find that notation a little confusing but those otherwise look fine.

"huey", "dewey", and "louie" are given as constants in the language, so you don't need existential quantification, and it's really not correct to use them that way. Your idea would be fine if they were defined as properties.

The last one is a bit of a mess. "white" is a constant, and "z" is a (first-order) variable, so they cannot take arguments. You can make up a new predicate if you want to say that something is a shirt, but you can also use your "shirt" function to express the same thing in a slightly indirect way.

Ax [color(shirt(x)) = white -> design(shirt(x)) ?what goes here?]

I should have mentioned earlier that you might want to include in your interpretation of phrases like "the green shirt" (definite descriptions) the assumption that at most one or exactly one such thing exists. It doesn't seem much of an issue here, but it's something to keep in mind.

On a side note, I recommend getting into the habit of delimiting your formulas properly. Context can help me figure out what you mean here, but it's technically wrong and can cause problems in more ambiguous contexts.
 
Last edited:
Thanks honestrosewater.

I made some changes to sentences, and here it is together with the part B:



a) Representing facts as sentences in FOL.

(1) ∀x [(color (Shirt (x)) =green) → (age (huey) < age (x))]

(2) ∀x [(age(x) = 5) → (design (shirt(x))= camel)]

(3) Shirt(dewey) = yellow

(4) Ey louie (y) /\ (design, shirt (y) = giraffe)

(5)∀x [color(shirt(x)) = white -> design(shirt(x)) =/ Panda]


b) We can conclude age of the boys together with the color and design of their shirt through these facts:


By statement 1, we know that huey is not wearing a green shirt:

(1) ∀x [(color (Shirt (x)) =green) → (age (huey) < age (x))]


Statement 3 implies that he is not wearing the yellow shirt:

(3) Shirt(dewey) = yellow

Then statement 4&5 imply that huey’s shirt bore the camel design:

(4) Ey louie (y) /\ (design, shirt (y) = giraffe)

(5)∀x [color(shirt(x)) = white -> design(shirt(x)) =/ Panda]



Statement 2 implies that huey is 5:

(2) ∀x [(age(x) = 5) → (design (shirt(x))= camel)]

Hence: huey, 5, white, camel

By Statement 1, since Huey is younger than the boy in the green t-shirt, this implies that the boy in the green shirt is 6. Hence by Statement 3, Louie is 6 and Dewey is 4.

Hence: Louie, 6, green, giraffe.
Dewey, 4, yellow, panda.

Do you think I need to do part B in a more formal way?
Thanks
 
It sounds okay. You could fill in more details if you were worried. The question asks you to show semantically, but I don't know what that entails to them.
 
Thanks a lot.
 

Similar threads

Replies
1
Views
5K
Back
Top