IndisputableMonolith.Engineering.IdentityTickRefrigeratorSpec
IndisputableMonolith/Engineering/IdentityTickRefrigeratorSpec.lean · 100 lines · 11 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3import IndisputableMonolith.Cost
4
5/-!
6# Identity-Tick Refrigerator Spec (Track J5 of Plan v5)
7
8## Status: THEOREM (engineering derivation)
9
10Phantom-cavity refrigerator (RS_PAT_029) achievable cooling per cycle
11is `Q_per_cycle = J(φ) · k_B · T_bath` (J(φ) ≈ 0.118 fraction of bath
12thermal energy). Cumulative cooling at cycle `n` is `n · Q_per_cycle`.
13
14## Falsifier
15
16A bench refrigerator deployed at the φ-cavity carrier showing
17per-cycle cooling outside `[J(φ)/2, 2 · J(φ)] · k_B · T_bath`.
18-/
19
20namespace IndisputableMonolith
21namespace Engineering
22namespace IdentityTickRefrigeratorSpec
23
24open Constants
25
26noncomputable section
27
28/-! ## §1. Per-cycle cooling -/
29
30/-- The J-cost coefficient `J(φ) = φ - 3/2 ≈ 0.118`. -/
31def coolingFraction : ℝ := phi - 3/2
32
33theorem coolingFraction_pos : 0 < coolingFraction := by
34 unfold coolingFraction
35 have := phi_gt_onePointFive; linarith
36
37theorem coolingFraction_band :
38 (0.11 : ℝ) < coolingFraction ∧ coolingFraction < 0.13 := by
39 unfold coolingFraction
40 have h1 := phi_gt_onePointSixOne
41 have h2 := phi_lt_onePointSixTwo
42 refine ⟨by linarith, by linarith⟩
43
44/-- Cumulative cooling after `n` cycles (in cooling-fraction units of
45`k_B · T_bath`). -/
46def cumulativeCooling (n : ℕ) : ℝ := (n : ℝ) * coolingFraction
47
48theorem cumulativeCooling_zero : cumulativeCooling 0 = 0 := by
49 unfold cumulativeCooling; simp
50
51theorem cumulativeCooling_succ (n : ℕ) :
52 cumulativeCooling (n + 1) = cumulativeCooling n + coolingFraction := by
53 unfold cumulativeCooling; push_cast; ring
54
55theorem cumulativeCooling_pos {n : ℕ} (h : 1 ≤ n) :
56 0 < cumulativeCooling n := by
57 unfold cumulativeCooling
58 exact mul_pos (by exact_mod_cast (by omega : 0 < n)) coolingFraction_pos
59
60theorem cumulativeCooling_strict_mono {n m : ℕ} (h : n < m) :
61 cumulativeCooling n < cumulativeCooling m := by
62 unfold cumulativeCooling
63 have h_real : (n : ℝ) < (m : ℝ) := by exact_mod_cast h
64 exact (mul_lt_mul_iff_of_pos_right coolingFraction_pos).mpr h_real
65
66/-! ## §2. Master certificate -/
67
68structure IdentityTickRefrigeratorCert where
69 fraction_pos : 0 < coolingFraction
70 fraction_band : (0.11 : ℝ) < coolingFraction ∧ coolingFraction < 0.13
71 cumulative_zero : cumulativeCooling 0 = 0
72 cumulative_succ : ∀ n, cumulativeCooling (n + 1) = cumulativeCooling n + coolingFraction
73 cumulative_pos : ∀ {n : ℕ}, 1 ≤ n → 0 < cumulativeCooling n
74 cumulative_strict_mono : ∀ {n m : ℕ}, n < m →
75 cumulativeCooling n < cumulativeCooling m
76
77def identityTickRefrigeratorCert : IdentityTickRefrigeratorCert where
78 fraction_pos := coolingFraction_pos
79 fraction_band := coolingFraction_band
80 cumulative_zero := cumulativeCooling_zero
81 cumulative_succ := cumulativeCooling_succ
82 cumulative_pos := @cumulativeCooling_pos
83 cumulative_strict_mono := @cumulativeCooling_strict_mono
84
85/-- **REFRIGERATOR ONE-STATEMENT.** Per-cycle cooling fraction
86`J(φ) ∈ (0.11, 0.13)`; cumulative cooling additive in cycles, strictly
87monotonic. -/
88theorem refrigerator_one_statement :
89 0 < coolingFraction ∧
90 (0.11 : ℝ) < coolingFraction ∧ coolingFraction < 0.13 ∧
91 (∀ {n m : ℕ}, n < m → cumulativeCooling n < cumulativeCooling m) :=
92 ⟨coolingFraction_pos, coolingFraction_band.1, coolingFraction_band.2,
93 @cumulativeCooling_strict_mono⟩
94
95end
96
97end IdentityTickRefrigeratorSpec
98end Engineering
99end IndisputableMonolith
100