Pauli Matrices #
This module defines the single-qubit Pauli matrices Pauli.I, Pauli.X, Pauli.Y,
Pauli.Z, together with their multiplication table, anticommutation relations, and
observable structure. It also records the Kronecker-product lemmas used to combine
commuting or anticommuting pairs into commuting two-qubit observables.
theorem
MIPRE.LCS.commute_kronecker_of_commute
{A B C D : Matrix (Fin 2) (Fin 2) ℂ}
(hAC : Commute A C)
(hBD : Commute B D)
:
Commute (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) A B) (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) C D)
theorem
MIPRE.LCS.IsObservable.kronecker
{A B : Matrix (Fin 2) (Fin 2) ℂ}
(hA : IsObservable A)
(hB : IsObservable B)
:
IsObservable (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) A B)