Semantic Techniques in Quantum Computation