The following circuit
from pytket import Circuit
circ = Circuit(3).CX(2, 0).CX(0, 1).CX(2, 1)
gets correctly optimised by GreedyPauliSimp to the 2-CX circuit
Circuit(3).CX(0, 1).CX(2, 0)
However, the circuit is left unchanged by CliffordSimp, i.e. the following assertion fails:
opt_circ = circ.copy()
CliffordSimp().apply(opt_circ)
assert opt_circ != circ
I'd expect CliffordSimp to match GreedyPauliSimp in this instance.