On real devices, the link lights would still come up if there is a duplex mismatch between both sides of the Ethernet connection. Why does Packet Tracer not model this behavior?
On real devices, the link lights would come up in the case of duplex mismatch, but the error rate on the ports would go up because of mismatch. However, Packet Tracer does not model the statistics on the ports, and there is no other way to show that having mismatch duplex is a problem. So, Packet Tracer makes the link not come up to indicate the problem.