This is one of the classic 24 valid syllogisms, which means: It's a correct
logical argument. In first-order logic, the premises can be written
as ∀x(P(x)→Q(x)) and ∀x(R(x)→P(x)), and this implies ∀x(R(x)→Q(x)).
So, whenever the premises are true, then the conclusion
is also true.
Except if you cheat.
What does "cheat" mean? Well, for instance, words in a natural language
may have several meanings, and the meaning may implicitly depend
on the context. So you may agree that "all stars are celestial bodies"
and "all Grammy winners are stars", but since the word "stars"
has a different meaning in the first and in the second sentence,
you should better not deduce "all Grammy winners are celestial bodies".
Additionally, statements in a natural language
may hold under certain implicit additional
conditions. "All Greeks are citizens of the European Union"
may be uncontroversial, and "all pupils of Socrates are Greeks"
as well, but the first statement comes with an implicit "now"
and the second with an implicit "2400 years ago", so you should not
deduce "all pupils of Socrates are citizens of the European Union".
Similar problems may arise, if the first statement holds legally,
but not in practice, and the second one holds in practice, but
not legally. Then the conclusion may hold neither legally nor in practice.
The problem is that in these cases the translation of the natural
language sentences into logical formulas of the form ∀x(P(x)→Q(x))
and ∀x(R(x)→P(x)) is inadequate. Superficially, the examples seem to break
the rule, but it's just abuse of linguistic ambiguity.