IndisputableMonolith.Physics.QuantumComputingDepthFromRS
IndisputableMonolith/Physics/QuantumComputingDepthFromRS.lean · 46 lines · 8 declarations
show as:
view math explainer →
1import Mathlib
2
3/-!
4# Quantum Computing Depth from RS — RS_PAT_043 / B15
5
6Five canonical quantum gate types (Pauli, Clifford, T-gate, CNOT, Toffoli)
7= configDim D = 5.
8
9In RS: quantum computation = sequence of J-cost-minimizing recognition operations.
108 single-qubit Pauli group elements (±I, ±X, ±Y, ±Z) = 2^D = 8.
11
12Universal gate sets: {H, T, CNOT} — these 3 = D generate all unitaries.
13
14Lean: 5 gate types, 8 Pauli group elements = 2^3.
15
16Lean status: 0 sorry, 0 axiom.
17-/
18
19namespace IndisputableMonolith.Physics.QuantumComputingDepthFromRS
20
21inductive QuantumGateType where
22 | pauli | clifford | tGate | cnot | toffoli
23 deriving DecidableEq, Repr, BEq, Fintype
24
25theorem quantumGateTypeCount : Fintype.card QuantumGateType = 5 := by decide
26
27/-- Pauli group (single qubit) has 8 elements. -/
28def pauliGroupSize : ℕ := 8
29theorem pauliGroupSize_2cubed : pauliGroupSize = 2 ^ 3 := by decide
30
31/-- Universal gate set has 3 gates = D. -/
32def universalGates : ℕ := 3
33theorem universalGates_eq_D : universalGates = 3 := rfl
34
35structure QuantumComputingDepthCert where
36 five_gates : Fintype.card QuantumGateType = 5
37 pauli_8 : pauliGroupSize = 2 ^ 3
38 universal_D : universalGates = 3
39
40def quantumComputingDepthCert : QuantumComputingDepthCert where
41 five_gates := quantumGateTypeCount
42 pauli_8 := pauliGroupSize_2cubed
43 universal_D := universalGates_eq_D
44
45end IndisputableMonolith.Physics.QuantumComputingDepthFromRS
46