Logical Aspects Of Quantum Computation