Formally Verified Quantum Programming