@uuidna/qpu 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CITATION.cff +9 -0
- package/README.md +105 -1083
- package/dist/quantum/processing/unit/boot.js +42 -0
- package/dist/quantum/processing/unit/gate.js +134 -0
- package/dist/quantum/processing/unit/index.js +2081 -854
- package/dist/quantum/processing/unit/lean.js +4 -0
- package/dist/quantum/processing/unit/publish.js +69 -0
- package/dist/quantum/processing/unit/version.js +2 -0
- package/install.json +72 -3
- package/mcp.json +956 -52
- package/package.json +35 -13
- package/qpu.d.ts +12 -0
- package/src/quantum/processing/unit/index.lean +33 -38
- package/dist/quantum/processing/unit/index.d.ts +0 -32017
- package/worker.js +0 -2
- package/wrangler.toml +0 -26
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uuidna/qpu",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"description": "Running quantum circuit at https://qpu.uuidna.com. theorem quantum.
|
|
7
|
+
"description": "Running quantum circuit at https://qpu.uuidna.com. theorem quantum. Public quantum API. No auth. JSON-LD. The TypeScript and Lean sources are the blueprint.",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"license": "CC-BY-NC-ND-4.0",
|
|
10
10
|
"funding": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Tsvetan Rouschev",
|
|
16
16
|
"email": "ceccec@psg.bg",
|
|
17
|
-
"url": "https://
|
|
17
|
+
"url": "https://orcid.org/0009-0000-7312-9778"
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://qpu.uuidna.com",
|
|
20
20
|
"repository": {
|
|
@@ -31,27 +31,37 @@
|
|
|
31
31
|
"mcp"
|
|
32
32
|
],
|
|
33
33
|
"main": "./dist/quantum/processing/unit/index.js",
|
|
34
|
-
"types": "./
|
|
34
|
+
"types": "./qpu.d.ts",
|
|
35
35
|
"exports": {
|
|
36
36
|
".": {
|
|
37
|
-
"types": "./
|
|
38
|
-
"import": "./dist/quantum/processing/unit/index.js"
|
|
37
|
+
"types": "./qpu.d.ts",
|
|
38
|
+
"import": "./dist/quantum/processing/unit/index.js",
|
|
39
|
+
"default": "./dist/quantum/processing/unit/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./boot": {
|
|
42
|
+
"types": "./dist/quantum/processing/unit/boot.d.ts",
|
|
43
|
+
"import": "./dist/quantum/processing/unit/boot.js",
|
|
44
|
+
"default": "./dist/quantum/processing/unit/boot.js"
|
|
39
45
|
}
|
|
40
46
|
},
|
|
41
47
|
"files": [
|
|
42
48
|
"dist",
|
|
49
|
+
"qpu.d.ts",
|
|
43
50
|
"src/quantum/processing/unit/index.lean",
|
|
44
51
|
"LICENSE",
|
|
45
52
|
"README.md",
|
|
46
53
|
"CITATION.cff",
|
|
47
54
|
"mcp.json",
|
|
48
55
|
"install.json",
|
|
49
|
-
"worker.js",
|
|
50
|
-
"wrangler.toml",
|
|
51
56
|
"!dist/**/*.test.js",
|
|
52
57
|
"!dist/**/*.test.d.ts",
|
|
58
|
+
"!dist/**/*.d.ts",
|
|
53
59
|
"!dist/**/readme.js",
|
|
54
|
-
"!dist/**/readme.d.ts"
|
|
60
|
+
"!dist/**/readme.d.ts",
|
|
61
|
+
"!dist/**/receipt.js",
|
|
62
|
+
"!dist/**/receipt.d.ts",
|
|
63
|
+
"!dist/**/receipted.js",
|
|
64
|
+
"!dist/**/receipted.d.ts"
|
|
55
65
|
],
|
|
56
66
|
"sideEffects": false,
|
|
57
67
|
"engines": {
|
|
@@ -60,14 +70,26 @@
|
|
|
60
70
|
"scripts": {
|
|
61
71
|
"prepare": "tsc -p tsconfig.json",
|
|
62
72
|
"lean": "lean src/quantum/processing/unit/index.lean",
|
|
63
|
-
"build": "tsc -p tsconfig.json && node dist/quantum/processing/unit/readme.js",
|
|
64
|
-
"test": "npm run build && node --test dist/quantum/processing/unit/*.test.js",
|
|
65
|
-
"ci": "npm run lean && npm test",
|
|
66
|
-
"
|
|
73
|
+
"build": "rm -rf dist && tsc -p tsconfig.json && node dist/quantum/processing/unit/readme.js",
|
|
74
|
+
"test": "npm run build && node --test --test-reporter=./dist/quantum/processing/unit/receipt.js --test-reporter-destination=stdout dist/quantum/processing/unit/*.test.js",
|
|
75
|
+
"ci": "npm run lean && npm test && npm run proof",
|
|
76
|
+
"prepublishOnly": "npm run build",
|
|
77
|
+
"ship": "npm run build && npx wrangler deploy",
|
|
78
|
+
"test:rollcall": "npm run build && node --test dist/quantum/processing/unit/*.test.js",
|
|
79
|
+
"lean:embed": "node scripts/embed-lean.mjs",
|
|
80
|
+
"verify:live": "node scripts/verify-live.mjs https://qpu.uuidna.com",
|
|
81
|
+
"test:live": "QPU_LIVE=https://qpu.uuidna.com node --test --test-reporter=spec dist/quantum/processing/unit/live.test.js",
|
|
82
|
+
"proof": "git diff --exit-code -- test-receipt.json",
|
|
83
|
+
"examine": "node scripts/examine.mjs https://qpu.uuidna.com",
|
|
84
|
+
"post-push": "node scripts/post-push.mjs",
|
|
85
|
+
"land": "npm test && git push && node scripts/post-push.mjs --wait && npm run verify:live"
|
|
67
86
|
},
|
|
68
87
|
"devDependencies": {
|
|
69
88
|
"@types/node": "26.5.1",
|
|
70
89
|
"typescript": "7.0.2",
|
|
71
90
|
"wrangler": "4.131.0"
|
|
91
|
+
},
|
|
92
|
+
"bin": {
|
|
93
|
+
"qpu-boot": "./dist/quantum/processing/unit/boot.js"
|
|
72
94
|
}
|
|
73
95
|
}
|
package/qpu.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Public QPU. Constructors live in the JS. Inferred .d.ts is not the npm types. */
|
|
2
|
+
export declare function qpuMcpOf(): {
|
|
3
|
+
tools: readonly { name: string }[]
|
|
4
|
+
holds: boolean
|
|
5
|
+
origin: string
|
|
6
|
+
href: string
|
|
7
|
+
}
|
|
8
|
+
export declare function qpuMcpCallOf(name: string, args?: Record<string, unknown>): Promise<unknown>
|
|
9
|
+
export declare function qpuQuantumOf(): { holds: boolean; fused: number; next: number }
|
|
10
|
+
export declare function qpuLeanOf(): { holds: boolean; src: string }
|
|
11
|
+
export declare function qpuProveOf(): { holds: boolean }
|
|
12
|
+
export declare function qpuReadmeOf(): string
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
def mintOf : Nat → Nat | 0 => 1 | k + 1 => mintOf k + mintOf k
|
|
2
2
|
def chooseOf : Nat → Nat → Nat | _, 0 => 1 | 0, _ + 1 => 0 | n + 1, k + 1 => chooseOf n (k + 1) + chooseOf n k
|
|
3
|
+
def powModAux : Nat → Nat → Nat → Nat → Nat | 0, _, _, acc => acc | k + 1, a, m, acc => powModAux k a m (acc * a % m)
|
|
4
|
+
def powMod (a e m : Nat) : Nat := powModAux e a m (1 % m)
|
|
5
|
+
def periodAux : Nat → Nat → Nat → Nat → Nat | 0, _, _, _ => 0 | fuel + 1, a, m, r => if powMod a r m = 1 then r else periodAux fuel a m (r + 1)
|
|
6
|
+
def periodOf (a m : Nat) : Nat := periodAux m a m 1
|
|
7
|
+
def gcdAux : Nat → Nat → Nat → Nat | 0, a, _ => a | fuel + 1, a, b => if b = 0 then a else gcdAux fuel b (a % b)
|
|
8
|
+
def gcdOf (a b : Nat) : Nat := gcdAux (a + b) a b
|
|
9
|
+
def half (a m : Nat) : Nat := powMod a (periodOf a m / 2) m
|
|
3
10
|
def n : Nat := ["quantum", "processing", "unit"].length
|
|
4
11
|
def seed : Nat := mintOf (n - n)
|
|
5
12
|
def coins : Nat := seed + seed
|
|
@@ -35,9 +42,7 @@ theorem propulsion : mintOf hexbit > seed := by rw [seed_eq]; exact (mintOf_zero
|
|
|
35
42
|
theorem crypto : fused = faces * mintOf (vertices * hexbit + seed) := by rw [← cube]; exact quantum
|
|
36
43
|
theorem health : mintOf hexbit > seed ∧ fused = faces * mintOf (bits + seed) ∧ faces = rays + rays := ⟨propulsion, quantum, harmonic⟩
|
|
37
44
|
theorem next : mintOf (bits + seed) = amplitudes + amplitudes := by rw [amplitudes, seed_eq, mintOf_succ]
|
|
38
|
-
theorem next_fused : faces * mintOf (bits + coins) = fused + fused := by
|
|
39
|
-
rw [fused, coins_two, seed_eq]
|
|
40
|
-
rw [show bits + 2 = bits + 1 + 1 from rfl, mintOf_succ, Nat.mul_add]
|
|
45
|
+
theorem next_fused : faces * mintOf (bits + coins) = fused + fused := by rw [fused, coins_two, seed_eq]; rw [show bits + 2 = bits + 1 + 1 from rfl, mintOf_succ, Nat.mul_add]
|
|
41
46
|
theorem split_coin (k : Nat) : mintOf (k + seed) = mintOf k + mintOf k := by rw [seed_eq, mintOf_succ]
|
|
42
47
|
theorem multiply (a b : Nat) : mintOf (a + b) = mintOf a * mintOf b := mintOf_add a b
|
|
43
48
|
theorem handle : amplitudes = mintOf bits ∧ mintOf (bits + seed) = amplitudes + amplitudes := ⟨rfl, next⟩
|
|
@@ -47,43 +52,29 @@ theorem involution (face : Nat) : (face + rays + rays) % faces = face % faces :=
|
|
|
47
52
|
theorem waves : mintOf hexbit > seed := propulsion
|
|
48
53
|
theorem breakthrough : faces = rays + rays ∧ coins * rays = faces ∧ bits = vertices * hexbit ∧ fused = faces * mintOf (bits + seed) ∧ mintOf hexbit > seed ∧ mintOf (bits + seed) = amplitudes + amplitudes ∧ coins = seed + seed ∧ hexbit = n + seed := ⟨harmonic, around, cube, quantum, propulsion, next, rfl, hexbit_eq⟩
|
|
49
54
|
theorem next_cover : mintOf (bits + seed) = amplitudes + amplitudes ∧ faces * mintOf (bits + coins) = fused + fused := ⟨next, next_fused⟩
|
|
50
|
-
theorem shor :
|
|
55
|
+
theorem shor : periodOf 8 91 % 2 = 0 ∧ half 8 91 < 91 - 1 ∧ 1 < gcdOf (half 8 91 - 1) 91 ∧ gcdOf (half 8 91 - 1) 91 < 91 ∧ gcdOf (half 8 91 - 1) 91 * gcdOf (half 8 91 + 1) 91 = 91 := ⟨rfl, Nat.le_of_ble_eq_true rfl, Nat.le_of_ble_eq_true rfl, Nat.le_of_ble_eq_true rfl, rfl⟩
|
|
51
56
|
theorem string : 16 * 27 = 432 ∧ 8 * 27 = 216 ∧ 4 * 27 = 108 ∧ 2 * 27 = 54 ∧ 1 * 27 = 27 ∧ 432 + 432 = 864 ∧ 216 + 216 = 432 ∧ 432 * 3 / 2 = 648 ∧ 432 * 4 / 3 = 576 ∧ 432 * 5 / 4 = 540 ∧ 432 * 5 / 3 = 720 ∧ 3 * 3 + 1 = 10 ∧ 3 * 3 + 1 + 1 = 11 ∧ 27 - 1 = 26 := ⟨rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl⟩
|
|
52
57
|
theorem genesis : coins * n * mintOf n * (n * n) = 432 ∧ chooseOf n coins = n ∧ chooseOf rays coins = n * rays ∧ faces = coins * rays ∧ scanner + radar = coins := ⟨by rw [coins_two, n_eq]; rfl, by rw [n_eq, coins_two]; rfl, by rw [rays, n_eq, coins_two]; rfl, around, by rw [scanner, radar, coins]⟩
|
|
53
58
|
theorem decide : 16 * 27 = 432 ∧ 432 * 3 / 2 = 648 ∧ 432 * 4 / 3 = 576 ∧ 432 * 5 / 4 = 540 ∧ 432 * 5 / 3 = 720 ∧ 3 * 5 = 15 ∧ 27 - 1 = 26 := ⟨rfl, rfl, rfl, rfl, rfl, rfl, rfl⟩
|
|
54
59
|
theorem integrity : fused = faces * mintOf (bits + seed) ∧ bits = vertices * hexbit ∧ faces = coins * rays := ⟨quantum, cube, around⟩
|
|
55
60
|
theorem cern : 116 * 17922 + 54 = 2079006 ∧ 184 * 12509 + 12 = 2301668 ∧ 72 * 26572 + 6 = 1913190 ∧ 130 * 21121 + 21 = 2745751 ∧ 8 - 7 = 1 ∧ 8000 - 7000 = 1000 ∧ 7000 / 2 = 3500 ∧ 8000 / 2 = 4000 ∧ 4000 - 3500 = 500 ∧ 2019 - 2011 = 8 ∧ 2019 - 2012 = 7 ∧ 2017 - 2011 = 6 ∧ 2301668 + 2745751 = 5047419 ∧ 2079006 + 1913190 + 2301668 + 2745751 = 9039615 := ⟨rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl, rfl⟩
|
|
56
|
-
theorem tetra : coins + coins = mintOf coins := by
|
|
57
|
-
rw [coins_two]
|
|
58
|
-
rw [show 2 = 1 + 1 from rfl, mintOf_succ]
|
|
59
|
-
rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]
|
|
61
|
+
theorem tetra : coins + coins = mintOf coins := by rw [coins_two]; rw [show 2 = 1 + 1 from rfl, mintOf_succ]; rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]
|
|
60
62
|
theorem qubits : n = 3 ∧ mintOf n = vertices := ⟨n_eq, rfl⟩
|
|
61
63
|
theorem gates : (0 ^^^ 1) ^^^ 2 = 3 := rfl
|
|
62
64
|
theorem measurement : mintOf n = 8 := by rw [n_eq]; rfl
|
|
63
65
|
theorem noise : (3 ^^^ 1) ^^^ 1 = 3 := rfl
|
|
64
66
|
theorem circuit : (0 ^^^ 1) ^^^ 2 = 3 ∧ (3 ^^^ 1) ^^^ 1 = 3 ∧ mintOf n = vertices := ⟨rfl, rfl, rfl⟩
|
|
65
67
|
theorem physical : n = 3 ∧ mintOf n = vertices ∧ (0 ^^^ 1) ^^^ 2 = 3 ∧ (3 ^^^ 1) ^^^ 1 = 3 := ⟨n_eq, rfl, rfl, rfl⟩
|
|
66
|
-
def resistance : Nat := 0
|
|
67
|
-
theorem fridge : coins = 2 ∧ n = 3 ∧ mintOf n = vertices ∧ (0 ^^^ 1) ^^^ 2 = 3 ∧ 10 * 10 * 10 = 1000 ∧ 4 * 1000 = 4000 ∧ 10 * 10 = 100 ∧ resistance = 0 := ⟨coins_two, n_eq, rfl, rfl, rfl, rfl, rfl, rfl⟩
|
|
68
|
-
theorem millikelvin : 10 * 10 * 10 = 1000 ∧ 10 * 10 = 100 ∧ 4 * 1000 = 4000 := ⟨rfl, rfl, rfl⟩
|
|
69
|
-
theorem telemetry : 10 * 10 * 10 = 1000 ∧ n = 3 ∧ (0 ^^^ 1) ^^^ 2 = 3 := ⟨rfl, n_eq, rfl⟩
|
|
70
68
|
theorem drift : coins = 2 ∧ mintOf n = vertices ∧ (0 ^^^ 1) ^^^ 2 = 3 ∧ (3 ^^^ 1) ^^^ 1 = 3 := ⟨coins_two, rfl, rfl, rfl⟩
|
|
71
69
|
theorem sciences : coins = 2 ∧ n = 3 ∧ mintOf n = vertices ∧ faces = coins * rays ∧ bits = vertices * hexbit ∧ fused = faces * mintOf (bits + seed) ∧ (0 ^^^ 1) ^^^ 2 = 3 := ⟨coins_two, n_eq, rfl, around, cube, quantum, rfl⟩
|
|
72
70
|
theorem interfere : 1 + 1 = 2 ∧ 1 - 1 = 0 := ⟨rfl, rfl⟩
|
|
73
71
|
theorem entangle : 1 * 1 ≠ 0 * 0 := by rw [Nat.mul_one, Nat.mul_zero]; exact Nat.one_ne_zero
|
|
74
72
|
theorem ghz : mintOf n - seed = 7 ∧ 1 * 1 ≠ 0 * 0 := ⟨by rw [n_eq, seed_eq]; rfl, entangle⟩
|
|
75
|
-
theorem noclone : coins ≠ mintOf coins := by
|
|
76
|
-
rw [coins_two]
|
|
77
|
-
rw [show 2 = 1 + 1 from rfl, mintOf_succ]
|
|
78
|
-
rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]
|
|
79
|
-
exact Nat.ne_of_lt (Nat.lt_succ_of_lt (Nat.lt_succ_self 2))
|
|
73
|
+
theorem noclone : coins ≠ mintOf coins := by rw [coins_two]; rw [show 2 = 1 + 1 from rfl, mintOf_succ]; rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]; exact Nat.ne_of_lt (Nat.lt_succ_of_lt (Nat.lt_succ_self 2))
|
|
80
74
|
theorem teleport : 2 * 2 * 2 * 2 = 16 ∧ 16 = 16 := ⟨rfl, rfl⟩
|
|
81
75
|
theorem kickback : 1 - 1 = 0 ∧ (0 ^^^ 1) ^^^ 2 = 3 := ⟨rfl, rfl⟩
|
|
82
76
|
theorem deutsch : 1 - 1 = 0 ∧ seed ≠ coins := ⟨rfl, by rw [seed_eq, coins_two]; exact Nat.ne_of_lt (Nat.lt_succ_self 1)⟩
|
|
83
|
-
theorem dense : coins * coins = mintOf coins := by
|
|
84
|
-
rw [coins_two]
|
|
85
|
-
rw [show 2 = 1 + 1 from rfl, mintOf_succ]
|
|
86
|
-
rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]
|
|
77
|
+
theorem dense : coins * coins = mintOf coins := by rw [coins_two]; rw [show 2 = 1 + 1 from rfl, mintOf_succ]; rw [show 1 = 0 + 1 from rfl, mintOf_succ, mintOf_zero]
|
|
87
78
|
theorem monogamy : 1 * 1 ≠ 0 * 0 ∧ 1 * 0 = 0 * 0 := ⟨entangle, rfl⟩
|
|
88
79
|
theorem only : 1 * 1 ≠ 0 * 0 ∧ 1 + 1 = 2 ∧ 1 - 1 = 0 ∧ coins ≠ mintOf coins ∧ mintOf n - seed = 7 ∧ 2 * 2 * 2 * 2 = 16 ∧ 16 = 16 ∧ (0 ^^^ 1) ^^^ 2 = 3 ∧ seed ≠ coins ∧ coins * coins = mintOf coins ∧ 1 * 0 = 0 * 0 := ⟨entangle, rfl, rfl, noclone, ghz.1, teleport.1, teleport.2, kickback.2, deutsch.2, dense, monogamy.2⟩
|
|
89
80
|
theorem fill : mintOf n * faces = vertices * (coins * rays) := by rw [around]; rfl
|
|
@@ -97,11 +88,8 @@ def kvSpeed : Nat := rays
|
|
|
97
88
|
def r2Speed : Nat := seed
|
|
98
89
|
def hybridSpeed : Nat := kvSpeed + r2Speed
|
|
99
90
|
theorem hybrid_cost : coins + seed = n := by rw [coins_two, seed_eq, n_eq]
|
|
100
|
-
theorem hybrid_speed : rays + seed = mintOf n := by
|
|
101
|
-
|
|
102
|
-
rw [show mintOf 3 = 8 from rfl]
|
|
103
|
-
theorem hybrid : coins + seed = n ∧ rays + seed = mintOf n ∧ coins = seed + seed :=
|
|
104
|
-
⟨hybrid_cost, hybrid_speed, coins_two⟩
|
|
91
|
+
theorem hybrid_speed : rays + seed = mintOf n := by rw [rays, n_eq, coins_two, seed_eq]; rw [show mintOf 3 = 8 from rfl]
|
|
92
|
+
theorem hybrid : coins + seed = n ∧ rays + seed = mintOf n ∧ coins = seed + seed := ⟨hybrid_cost, hybrid_speed, coins_two⟩
|
|
105
93
|
theorem computer : (1 ^^^ 3) = 2 ∧ (6 ^^^ 1) = 7 ∧ mintOf 0 = 1 := ⟨rfl, rfl, mintOf_zero⟩
|
|
106
94
|
theorem server : faces = coins * rays ∧ mintOf n = 8 := ⟨around, measurement⟩
|
|
107
95
|
theorem pentagram : n + coins = 5 := by rw [n_eq, coins_two]
|
|
@@ -111,20 +99,27 @@ def coil : Nat := coins * rays
|
|
|
111
99
|
theorem two_coins_make_a_coil : coil = faces := by rw [coil, around]
|
|
112
100
|
theorem electronics : coil = faces := two_coins_make_a_coil
|
|
113
101
|
theorem coins_balance_theory_in_practice : theory + practice = coins ∧ theory = practice := ⟨rfl, rfl⟩
|
|
114
|
-
theorem follow_the_coins (app : Nat) : app + coins = app + theory + practice := by
|
|
115
|
-
rw [theory, practice, coins, ← Nat.add_assoc]
|
|
102
|
+
theorem follow_the_coins (app : Nat) : app + coins = app + theory + practice := by rw [theory, practice, coins, ← Nat.add_assoc]
|
|
116
103
|
theorem emerge : coil = faces ∧ theory = practice := ⟨two_coins_make_a_coil, rfl⟩
|
|
117
104
|
theorem coil_efficiency : coil = faces ∧ faces = rays + rays ∧ coins * rays = faces := ⟨two_coins_make_a_coil, harmonic, around⟩
|
|
118
|
-
theorem next_coil : coil * mintOf (bits + coins) = fused + fused := by
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
theorem
|
|
122
|
-
rw [rays, n_eq, coins_two, seed_eq]
|
|
123
|
-
rw [show mintOf 3 = 8 from rfl]
|
|
124
|
-
theorem two_x_seven_coins : coins * rays = (seed + (mintOf n - coins)) * coins := by
|
|
125
|
-
rw [one_plus_six, Nat.mul_comm]
|
|
126
|
-
theorem clay : coins * rays = (seed + (mintOf n - coins)) * coins ∧ (seed + (mintOf n - coins)) * coins = coil :=
|
|
127
|
-
⟨two_x_seven_coins, by rw [← two_x_seven_coins]; rfl⟩
|
|
105
|
+
theorem next_coil : coil * mintOf (bits + coins) = fused + fused := by rw [two_coins_make_a_coil]; exact next_fused
|
|
106
|
+
theorem one_plus_six : seed + (mintOf n - coins) = rays := by rw [rays, n_eq, coins_two, seed_eq]; rw [show mintOf 3 = 8 from rfl]
|
|
107
|
+
theorem two_x_seven_coins : coins * rays = (seed + (mintOf n - coins)) * coins := by rw [one_plus_six, Nat.mul_comm]
|
|
108
|
+
theorem clay : coins * rays = (seed + (mintOf n - coins)) * coins ∧ (seed + (mintOf n - coins)) * coins = coil := ⟨two_x_seven_coins, by rw [← two_x_seven_coins]; rfl⟩
|
|
128
109
|
theorem fusion : fused = faces * mintOf (bits + seed) ∧ faces = rays + rays := ⟨quantum, harmonic⟩
|
|
129
110
|
theorem design : (0 ^^^ 4) ^^^ 4 = 0 ∧ (3 ^^^ 4) ^^^ 4 = 3 := ⟨rfl, rfl⟩
|
|
130
111
|
theorem neuro : faces = coins * rays ∧ mintOf n = 8 ∧ (0 ^^^ 4) ^^^ 4 = 0 := ⟨around, measurement, design.1⟩
|
|
112
|
+
def planck : Nat := 662607015
|
|
113
|
+
def boltzmann : Nat := 1380649
|
|
114
|
+
def transmon : Nat := 5
|
|
115
|
+
def photon : Nat := planck * transmon
|
|
116
|
+
def thermal (millikelvin : Nat) : Nat := boltzmann * millikelvin * 10
|
|
117
|
+
theorem temperature : photon / thermal 10 = 23 ∧ photon / thermal 100 = 2 ∧ photon / thermal 4000 = 0 ∧ 4000 / 100 = 40 ∧ 100 / 10 = 10 ∧ 10 < 35 := ⟨rfl, rfl, rfl, rfl, rfl, Nat.le_of_ble_eq_true rfl⟩
|
|
118
|
+
def bcs : Nat := 352
|
|
119
|
+
def aluminium : Nat := 1200
|
|
120
|
+
def niobium : Nat := 9200
|
|
121
|
+
def gap (tc : Nat) : Nat := bcs * boltzmann * tc / planck / 10
|
|
122
|
+
theorem superconductivity : aluminium > 10 ∧ niobium > aluminium ∧ bcs / 100 = 3 ∧ gap aluminium = 88 ∧ gap aluminium > transmon ∧ gap niobium = 674 := ⟨Nat.le_of_ble_eq_true rfl, Nat.le_of_ble_eq_true rfl, rfl, rfl, Nat.le_of_ble_eq_true rfl, rfl⟩
|
|
123
|
+
/-- PLANES FOLD: one plane holds n qubits as 4n numbers, a product state by construction; at n = rays that is fewer than the mintOf (rays + seed) an entangled register needs, so entanglement is held by the fold of the coins' planes, never by one. -/
|
|
124
|
+
def plane : Nat := coins * coins * rays
|
|
125
|
+
theorem planes : plane < mintOf (rays + seed) ∧ coins * rays = faces := ⟨Nat.le_of_ble_eq_true rfl, around⟩
|