How proof-of-work detects Sybil attack in Bitcoin? I read in several paper that PoW deters Sybil attack in Bitcoin. However, there is no enough explanation about how proof-of-work detects Sybil attack in Bitcoin?
PoW does not detect sybil attacks, it prevents them. Sybil, or sockpuppet, attack means that an attacker can spawn a large number of nodes which they control.

If your full node suddenly finds itself connected to fake nodes spawned by an attacker which claim that difficulty of the block they are sending you is much less than it was upto now, your node will know something is wrong and discard those blocks. The idea is that those fake nodes would have to mine at the current difficulty, but at that point they are not fake/sybil nodes, they are miners.

Similarly, when you run a full node for the first time you need to be able to connect to other nodes in the network to receive all the blocks that occured in the network so far. If by some chance your node connects to attacker's nodes they could try faking the transaction history. But since each block contains the difficulty at which it was mined, fake nodes being regular pc's or something like that would produce blocks at very low difficulties. If you ever connected to a real node, you would quickly discover that your node is under attack and receive the real history.

The point is that if the fake nodes wanted to produce blocks at anything close to the current difficulty, they couldn't be just regular PC's and just fake the difficulty. They would have to be miners like the rest of the network, but then they are entering the race with other miners to produce blocks (or are trying to pull off a 51% attack).