Verification Of Quantum Programs