Formalising definite description using identity in Predicate Logic 
"Stockholm is the largest city in Sweden"

I am to provide my own key. The only "help" I've received is that I am not allowed to use designators for the definite description. I should use a two-place predicate "Lxy: x is larger than y". And consider then that Stockholm is the largest city if there is no larger city.
My thought was using this key:

a: Stockholm
b: Sweden
Lxy: x is larger than y
Cxy: x is a city in y

Then I came up with this translation:
$$Cab \space\ \wedge \forall x((\neg x=a \wedge Cxb) \rightarrow   \neg Lxa)$$
"Stocholm is a city in Sweden and for all things if it is not identical to Stockholm and a city in Sweden, then it is not larger than Stockholm", I think.
What are your thoughts?
Is it perhaps a bit redundant to use a two-place predicate for x is a city in Sweden? would it be better to just have:

Cx: x is a city in Sweden    ?
and then:
$$ Ca \space\ \wedge \forall x((\neg x=a \wedge Cx) \rightarrow   \neg Lxa)  $$

Is both permissible?
Thank you!
 A: I like your first translation, in terms of using $Cxy$ to denote "x is a city in y", though either should work.
Saying that "no city in Sweden is larger than Stockholm" is not quite the same thing as saying "Stockholm is the largest city in Sweden". The first allows for the existence of a city just as large but not larger than, Stockholm. However, we want to say "Stockholm is larger than all other cities in Sweden, that is, we want to say "Stockholm is the [one and only] largest city in Sweden."
So I would use your first translation key and write:
$$Cab \space\ \wedge \forall x\,\Big((Cxb \land \neg (x=a)) \rightarrow  Lax\Big)$$
This modification now translates as "Stockholm is a city in Sweden and for all things $x$, if $x$ is a city in Sweden and $x$ is not identical to Stockholm, then Stockholm is larger than $x$".
A: I think that $Cx$ meaning "$x$ is a city in Sweden" is simpler, as it means that you can think of all variables ranging over only and exactly cities, instead of cities-or-possibly-countries that you distinguish by context.
Now, your and amWhy's answers are completely reasonable, but just for fun, here are some other possible approaches:
\[Ca \wedge \forall x. [Cx \implies (x = a \vee Lax)]\]
"Stockholm is in Sweden, and every city in Sweden is either Stockholm or smaller than it".
\[Ca \wedge \forall x. [(Cx \wedge \neg Lax) \implies a = x]\]
"Stockholm is in Sweden, and if a city is in Sweden and Stockholm is not bigger than it, then it must be because it IS Stockholm".
My personal favourite:
\[Ca \wedge \forall x. [Lxa \implies \neg Cx]\]
"Stockholm is in Sweden, and if a city is larger than Stockholm, it is not in Sweden".
