Last night I watched the first episode of Game of Thrones season 5 (awesome). In the very beginning we see a young Cersei ask a witch about her future. The Witch says that she will have three children. The thing is though, Cersei has four children. In the very second episode she tells a story of how she birthed Robert's true born son long before Joffrey was born. So was the witch wrong? Or is it metaphorical because Cersei didn't really see the child as her son?
This appears to be a case of storylines from the novels getting mixed up when they translated to the screen. In the novel, Cersei never gives birth to that first child -- she has it terminated as soon as she knows she's pregnant.
In the show, she tells Catelyn that she did give birth to that child, but it died young. That means that yes, Cersei did give birth to four children during her lifetime, contradicting the prophecy of the witch. Unless the show decides to explain it further, we can only guess why the discrepancy exists in-universe. Some options:
- The witch meant that she would have three living children; or three children that survived infancy. Based on the similarities between Westeros and 14th century England, it's likely that there are high rates of infant mortality. People may simply be conditioned to forget about children that do not make it at least to school age.
- The witch was speaking metaphorically -- she would only have three children that she considered her children; as much as she claims to have been heartbroken when she lost Robert's son, she doesn't really act like it. She obviously considered her three children by Jaime to be her "real" children, and has no desire to have a trueborn child with Robert.