בבקשה...
קודם כל אני מקווה שמבחינה אינטואיטיבית זה ברור למה זה נכון. בגרף לא מכוון, עצי הDFS הן בעצם מחלקות שקילות תחת היחס "ניתן להגעה מ" (כי מכל קודקוד יוצאים לכל הקודקודים השכנים שלו וכך הלאה, וקל להראות שזה בעצם סגור רפלקסיבי-טרנזיטיבי על היחס "שכן של"). כעת להוכחה שהצגת (לא מהאהובות עליי, אבל ניחא
): נתבונן בשורש r של עץ DFS כלשהו ביער הDFS. עכשיו אנחנו נראה שכל מי שברכיב הקשירות של r נמצא בעץ שr הוא השורש שלו. נראה זאת באמצעות משפט המסלול הלבן (= אם ברגע בו מגיעים לקודקוד u במהלך DFS קיים מסלול מu לקודקוד אחר v כך שכל הקודקודים באותו מסלול, נכון לאותו רגע, צבועים בלבן, אז v יהיה צאצא של u בעץ DFS בו נמצא u). מדוע ברגע שמתגלה r המסלול בינו לבין כל קודקוד ברכיב הקשירות שלו הוא לבן (כל הקודקודים בו לבנים)? כי אם נניח בשלילה שיש שם קודקוד לא לבן, אז נוכל להתבונן בקודקוד z לא-לבן מהמסלול הזה שהוא הכי קרוב ל-r . בשלב מסויים z התגלה. מכיוון שאנחנו מניחים שכ-r מתגלה z כבר לא לבן, אז בוודאי שכש-z התגלה r כן היה לבן. מכיוון שבחרנו בתור z את הקודקוד הלא-לבן הקרוב ליותר לr במסלול הנ"ל, מובטח לנו שכל הקודקודים במסלול בין z ל-r הם לבנים, וגם r כפי שאמרנו. אז לפי משפט המסלול הלבן r יהיה צאצא של z בעץ הDFS, והרי זה לא יכול להיות כי z הוא שורש העץ. זו סתירה, אז לא ייתכן שבעת גילוי r קיים קודקוד לא-לבן בין r לבין קודקוד כלשהו ברכיב הקשירות שלו, ולכן לפי משפט המסלול הלבן כל קודקוד ברכיב הקשירות של r יהיה צאצא שלו בעץ הDFS ש-r הוא שורשו. הכיוון השני פשוט. מדוע קודקוד v בעץ המושרש על ידי r נמצא ברכיב הקשירות שלו? כי המסלול בין r ל-v בעץ הDFS של r הוא גם מסלול בגרף המקורי, ומכיוון שקיים מסלול בין r ל-v, הם נמצאים באותו רכיב קשיר