Consider:
[A] 猫が好きだ
To me this means [A']"I like cats."
Contrast this to:
[B] 猫は好きだ
To me this means [B']"I like cats (among other animals)"
I based my understanding of [B] from Derek Schaab's answer to "What is the difference between “に” and “には”?":
You'll see that while in the first sentence there is only one scope, the second actually has two:
(私【わたし】は)彼【かれ】と会【あ】わなかった。
- Scope (implied): I
- Statement: Didn't meet with him.
(私【わたし】は)彼【かれ】とは会【あ】わなかった。
- Outer scope (implied): I
- Inner scope (explicit): with him
- Statement: Didn't meet.
Now as for what effect this has, the は often adds a hint of comparison or contrast, as repecmps mentioned. While both of the above sentences translate to, "I didn't meet with him," the second hints that although you didn't meet with him, you may have met with someone else.
So I deduced that は in [B] can perform that disambiguative role.
Now [A] can be interpreted to mean "I like cats" because of the implicit first person as in (私は)猫が好きだ
Now let's make 私 explicit:
[C]私は猫が好きだ - [C']"I like cats"
Now it is explicit that I am doing the liking.
Now reconsider [B]猫は好きだ:
Based on [C], I have another way to interpret [B]:
So now 猫は好きだ can mean [B'']"The cat likes (an unspecified object)"
(Questions) What is going on? Who is doing the liking and who is being liked in each case? Are [B'] and [B''] both valid? What am I doing and understanding wrong? If there is indeed ambiguity, how can I resolve it?
EDIT:
Can I resolve it by introducing another は element? E.g.
私は猫は好きです。 "I(thematic) like cats(disambiguated/anaphoric)"
Is it acceptable to have two はs in a sentence as above?