I need to check my algorithm of solving the dining philosopher problem if it guarantees that all of the following are satisfied or not:
I haven't used this in many years but there is a tool you can use to verify your algorithm. You will have to write you algorithm in Promela.
http://spinroot.com/spin/whatispin.html
http://en.wikipedia.org/wiki/Promela