It is a well established fact that Hadamard + Toffoli is a computationally universal gate set. Therefore I thought that the transpiler function in Qiskit would be able to decompose any valid quantum circuit in to a circuit of Hadamard and Toffoli gates. This doesn't seem to be the case however.
For example:
from qiskit import QuantumCircuit
qc = QuantumCircuit(5)
qc.cnot(0,1)
qc.h(1)
from qiskit import transpile
basis = ['h','ccx','id','swap']
qc_basis = transpile(qc,basis_gates = basis)
returns an error: "Unable to map source basis {('h', 1), ('cx', 2)} to target basis {'ccx', 'barrier', 'measure', 'delay', 'snapshot', 'swap', 'reset', 'id', 'h'}."
Have I interpreted computational universality incorrectly or is this functionality simply outside of the scope of the Qiskit transpile function?
Thank you