ให้
และ
เป็น vertex ใดๆ ในกราฟแล้ว เราจะได้ว่ามีความเป็นไปได้สองกรณีด้วยกัน คือ
- DFS(u) ถูกเรียกให้ทำงานก่อน DFS(v)
- DFS(v) ถูกเรียกให้ทำงานก่อน DFS(u)
พิจารณากรณีที่ DFS(u) ถูกเรียกให้ทำงานก่อน DFS(v) ในกรณีนี้เราจะได้ว่า
และในกรณีนี้มีความเป็นไปได้สองกรณีด้วยกันคือ
![{\displaystyle \mathrm {post} [u]<\mathrm {pre} [v]\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/16a2667b2739a4eaf62353703ac4dfa20dc27654)
![{\displaystyle \mathrm {post} [u]>\mathrm {pre} [v]\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/35751cc7afa669235fe266debfc5010c73889539)
ในกรณีที่ 1 เราได้ว่า
ซึ่งหมายความว่าช่วง
และช่วง
ไม่มีสมาชิกร่วมกันเลย ซึ่งตรงกับข้อความหนึ่งในสามข้อในโจทย์
ในกรณีที่ 2 เราได้ว่า
หมายความว่า DFS(v) ถูกเรียกให้ทำงานระหว่าง DFS(u) กำลังทำงานอยู่
ฉะนั้น DFS(v) จะต้องทำงานเสร็จก่อน DFS(u) จะทำงานเสร็จ ด้วยเหตุนี้เราจะได้ว่า
กล่าวคือ
ซึ่งตรงกับข้อความหนึ่งในสามข้อในโจทย์
เราสามารถพิสูจน์กรณีที่ DFS(v) ถูกเรียกให้ทำงานก่อน DFS(u) ได้โดยการใช้เหตุผลแบบเดียวกับข้างบน เพียงแต่สลับบทบาทของ
กับ
เท่านั้น