LF3 Setup: signs, detector settings, system-apparatus interfaces, two-qubit Pauli layer #
Category: 3-Local (LF3 foundational types and concrete two-qubit Pauli / spin-projector layer).
Paper §2 / §9.4.
Defines the foundational types (Sign, DetectorSetting), the abstract
pointer-readout and system-apparatus interfaces, and the concrete two-qubit
Pauli / spin-projector layer used by Singlet/*. The setup-level matrix
identities (§2.8: pauliDot_isHermitian, pauliDot_sq, spinProj_idem,
spinProj_isHermitian, spinProj_complete) are proved below from
DetectorSetting.sum_sq_components_eq_one, Sign.val_mul_self, and 2×2
matrix arithmetic.
Sign type #
Two-element sign type for outcome labels (paper §9.4).
Instances For
Equations
- CSD.LF3.instReprSign = { reprPrec := CSD.LF3.instReprSign.repr }
Equations
- CSD.LF3.instReprSign.repr CSD.LF3.Sign.plus prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "CSD.LF3.Sign.plus")).group prec✝
- CSD.LF3.instReprSign.repr CSD.LF3.Sign.minus prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "CSD.LF3.Sign.minus")).group prec✝
Instances For
Sign is a finite type with elements {plus, minus}. (Manual instance: the
deriving Fintype handler regressed on a List.Nodup/Multiset.Nodup coercion under the
Lean v4.33 toolchain; the explicit instance is equivalent and stable.)
Equations
- CSD.LF3.instFintypeSign = { elems := {CSD.LF3.Sign.plus, CSD.LF3.Sign.minus}, complete := ⋯ }
Sign negation.
Instances For
Detector settings #
Detector setting: a unit vector in ℝ³ (paper §2.5).
- vec : EuclideanSpace ℝ (Fin 3)
The underlying real 3-vector.
The vector has unit norm.
Instances For
Abstract pointer-readout algebra #
Binary pointer-readout algebra on a finite-dimensional pointer Hilbert
space K (paper §2.7, spec §9.11). Self-adjointness is stated via the
inner-product equation directly, avoiding the Star typeclass synthesis
on K →L[ℂ] K (which requires the adjoint construction + completeness).
The two sign-indexed projectors.
Each projector is self-adjoint with respect to the inner product.
Each projector is idempotent.
The two projectors are mutually orthogonal.
The two projectors sum to the identity.
Instances For
System-apparatus container #
Finite-dimensional system-apparatus container (paper §2.7). Carrier types and instances are type parameters, Mathlib idiom.
- ptrA : BinaryPointerProjectors K_A
Pointer-readout algebra on the A-side pointer space.
- ptrB : BinaryPointerProjectors K_B
Pointer-readout algebra on the B-side pointer space.
Instances For
Concrete two-qubit Pauli / spin-projector layer #
HAB := EuclideanSpace ℂ (Fin 2 × Fin 2).
Pauli operator σ·a = a_x σ_x + a_y σ_y + a_z σ_z as a 2×2 matrix.
Equations
Instances For
(σ·a) ⊗ I on HAB.
Equations
- CSD.LF3.sigmaDotLeft a = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (CSD.LF3.pauliDot a) 1
Instances For
I ⊗ (σ·b) on HAB.
Equations
- CSD.LF3.sigmaDotRight b = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (CSD.LF3.pauliDot b)
Instances For
(σ·a) ⊗ (σ·b) on HAB.
Equations
- CSD.LF3.sigmaDotJoint a b = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (CSD.LF3.pauliDot a) (CSD.LF3.pauliDot b)
Instances For
One-qubit spin projector Πˢ(a) = (I + s σ·a) / 2.
Equations
- CSD.LF3.spinProj s a = (1 / 2) • (1 + ↑s.val • CSD.LF3.pauliDot a)
Instances For
Joint two-qubit spin projector Πˢ(a) ⊗ Πᵗ(b).
Equations
- CSD.LF3.jointSpinProj s t a b = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (CSD.LF3.spinProj s a) (CSD.LF3.spinProj t b)
Instances For
Setup theorem targets (paper §2.8) #
Each proof reduces to straightforward 2×2 matrix arithmetic over Mathlib's
Matrix / !![…] API plus DetectorSetting.sum_sq_components_eq_one and
Sign.val_mul_self.
(σ·a)² = I for a unit vector a. Diagonal entries collapse to
a_0² + a_1² + a_2² = 1 via Complex.I_sq = -1; off-diagonal entries
cancel pairwise.
The spin projector is idempotent. Expand ((1/2) • A)² = (1/4) • A²,
where A² = (1 + s·σ)² = 1 + 2s·σ + s²·σ² = 2 + 2s·σ = 2A via
pauliDot_sq and Sign.val_mul_self.
The two spin projectors sum to the identity.
Pointer-completeness re-exports (paper §2.8) #
Pointer-completeness re-export, A side (paper §2.8).
Pointer-completeness re-export, B side.