Reasons to believe Mary was virgin at the time of Christ's birth
Recapping some points from question 28 of Thomas Aquinas' Summa Theologiae:
-
Isaiah 7:14, 'almah is translated in the Septuagint as παρθένος meaning virgin.
-
Matthew 12:49-50, here brethren isn't "brothers and sisters" as in siblings. Aramaic didn't have a word for cousin like Greek did. The Septuagint has a similar pattern where they don't use the word for cousin and instead say brethren.
The Protoevangelium of James and other apocrypha
And [from the time she was three] Mary was in the temple of the Lord as if she were a dove that dwelt there
'You have been chosen by lot to take into your keeping the Virgin of the Lord.' But Joseph refused, saying, 'I have children, and I am an old man, and she is a young girl'
He has defiled the virgin whom he received out of the temple of the Lord and has married her by stealth
As the Lord my God lives, I am pure before him, and know not man
Apart from the protogospel of James, other apocrypha assert the perpetual virginity of Mary including:
- The Ascension of Isaiah "And he did not approach Mary, but kept her as a holy virgin, though with child."
This source also affirms that Mary didn't experience labor pains, a commonplace in Church Tradition.
We can take apocryphal sources for what they are, but this hints at how widespread the belief was in the early Church.
Church Fathers
Clement of Alexandria reportedly accepted the Protoevangelium of James without objection.
Therefore let those who deny that the Son is from the Father by nature and proper to His Essence, deny also that He took true human flesh of Mary Ever-Virgin; for in neither case had it been of profit to us men, whether the Word were not true and naturally Son of God, or the flesh not true which He assumed.
Athanasius. Discourses Against the Arians, 2:70. 360 A.D.