เราจะทำการพิสูจน์ข้อความทั้งสามโดยใช้ข้อสังเกตสองข้อต่อไปนี้
ถ้า ถูกเรียกให้ทำงานหลังจาก ทำงาน
แต่ก่อนที่ จะทำงานเสร็จ แล้วจะมี path ใน DFS tree จาก ถึง
พิสูจน์: เนื่องจาก ถูกเรียกให้ทำงานระหว่างที่ ทำงานไปแล้วแต่ยังทำให้เสร็จ
เราจะได้ว่ามีลำดับของ vertex โดยที่ โดยที่ เรียก
แล้ว เรียก เช่นนี้ไปเรื่อยๆ จนกระทั้ง
เรียก
เนื่องจาก เรียก แสดงว่ามี edge อยู่ในกราฟ
นอกจากนี้ edge นี้ยังเป็น tree edge อีกด้วย ในทำนองเดียวกัน เราจะได้ว่า edge , ,
, ก็เป็น tree edge เช่นเดียวกัน ดังนั้นจึงมี path ใน DFS tree จาก ไปยัง
กรณีที่ 1
เราจะพิสูจน์ว่าถ้า แล้ว edge
จะต้องเป็น tree edge หรือว่า forward edge
พิสูจน์: เนื่องจาก เรารู้ว่า เริ่มทำงานก่อน
เนื่องจาก
เรารู้ว่า ถูกเรียกก่อนที่ จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก ถึง กล่าวคือ เป็นลูกหลานของ
ดังนั้น จึงเป็น tree edge หรือไม่ก็ forward edge
กรณีที่ 2
เราจะพิสูจน์ว่าถ้า แล้ว edge
จะต้องเป็น back edge
พิสูจน์: เนื่องจาก เรารู้ว่า เริ่มทำงานก่อน
เนื่องจาก
เรารู้ว่า ถูกเรียกก่อนที่ จะทำงานเสร็จ
ฉะนั้นจะต้องมี path ใน DFS tree จาก ถึง กล่าวคือ เป็นลูกหลานของ
ดังนั้น จึงเป็น back edge
กรณีที่ 3
เราจะพิสูจน์ว่าถ้า และ ไม่มีส่วนร่วมกันแล้ว
จะต้องเป็น cross edge
พิสูจน์: ให้ประพจน์ แทนข้อความ "
และ ไม่มีส่วนร่วมกันแล้ว"
ใ้ห้ประพจน์ แทนข้อความ " เป็น cross edge"
เราต้องการพิสูจน์ว่า
cross edge คือ edge ที่ไม่ใช่ tree edge, back edge, หรือ forward edge ดังนั้นเราสามารถพิสูจนฺ์ว่า เป็น cross edge
ได้โดยการพิสูจน์ข้อความ เมื่อ
- คือข้อความ " เป็น tree edge"
- คือข้อความ " เป็น back edge"
- คือข้อความ " เป็น forward edge"
เนื่องจาก เราจึงจะทำการพิสูจน์ข้อความ
แทน
สมมติให้ เป็นจริง กล่าวคือ เป็น tree, back, หรือ forward edge เราจะได้ว่า
- ถ้า เป็น tree edge แล้ว เราจะได้ว่า ถูกเรียกหลัง เริ่มทำงาน และ จบการทำงานก่อน จะจบการทำงาน ดังนั้น กล่าวคือช่วง และ มีส่วนร่วมกัน
- ถ้า เป็น back edge แล้ว เราจะได้ว่า เป็นลูกหลานของ ใน DFS tree ดังนั้น ถูกเรียกหลัง เริ่มทำงาน และ จบการทำงานก่อน จะจบการทำงาน ดังนั้น กล่าวคือช่วง และ มีส่วนร่วมกัน
- ถ้า เป็น forward edge แล้ว เราสามารถใช้การให้เหตุผลในข้อ 1 แสดงได้ว่า ช่วง และ มีส่วนร่วมกันได้
ทั้งสามกรณีให้ข้อสรุปว่า และ มีส่วนร่วมกัน กล่าวคือประพจน์ ไม่เป็นจริง
ดังนั้นเราสามารถสรุปได้ว่าถ้า และ ไม่มีส่วนร่วมกันแล้ว จะต้องเป็น cross edge