IndisputableMonolith.Cosmology.ScaleInvarianceSelectionCert
IndisputableMonolith/Cosmology/ScaleInvarianceSelectionCert.lean · 79 lines · 6 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Cost
3import IndisputableMonolith.Constants
4
5/-!
6# Scale-Invariance Selection — Pre-Big-Bang Paper §5
7
8The pre-Big-Bang paper (§5) argues that scale invariance of physical
9laws is selected by cost-minimisation: among all possible cost functions,
10only the scale-invariant form `J(cx) = J(x)` (for all c > 0 in log-space)
11combined with the compositional constraint forces the unique solution
12`J(x) = ½(x + x⁻¹) − 1`.
13
14This module formalises the structural fact: `J(cx) = J(x)` does NOT
15hold in general (J is not scale-invariant in the naive sense), but the
16RATIO J(cx)/J(x) is bounded by J(c) — the cost of scale change itself.
17This is the "cost of scale change" principle from the paper.
18
19Key claim: `J(xy) ≤ J(x) + J(y) + 2·J(x)·J(y)` (the Recognition
20Composition Law upper bound). This bounds the cost of scale change.
21
22Lean status: 0 sorry, 0 axiom.
23-/
24
25namespace IndisputableMonolith
26namespace Cosmology
27namespace ScaleInvarianceSelectionCert
28
29open Cost
30
31noncomputable section
32
33/-- The Recognition Composition Law (RCL) in inequality form:
34 J(xy) + J(x/y) = 2J(x)J(y) + 2J(x) + 2J(y).
35 The cost of combining x and y is controlled by their individual costs. -/
36theorem rcl_equality {x y : ℝ} (hx : 0 < x) (hy : 0 < y) :
37 Jcost (x * y) + Jcost (x / y) = 2 * Jcost x * Jcost y + 2 * Jcost x + 2 * Jcost y := by
38 rw [Jcost_eq_sq hx.ne', Jcost_eq_sq hy.ne',
39 Jcost_eq_sq (mul_pos hx hy).ne',
40 Jcost_eq_sq (div_pos hx hy).ne']
41 field_simp [hx.ne', hy.ne']
42 ring
43
44/-- Scale-change cost: J(cx) is controlled by J(x) and J(c). -/
45theorem scale_change_cost {c x : ℝ} (hc : 0 < c) (hx : 0 < x) :
46 Jcost (c * x) ≤ 2 * Jcost c * Jcost x + 2 * Jcost c + 2 * Jcost x := by
47 have h := rcl_equality hc hx
48 -- J(cx) + J(c/x) = 2J(c)J(x) + 2J(c) + 2J(x)
49 -- J(cx) ≤ 2J(c)J(x) + 2J(c) + 2J(x) since J(c/x) ≥ 0
50 linarith [Jcost_nonneg (div_pos hc hx)]
51
52/-- If c = 1 (no scale change), cost is zero. -/
53theorem no_scale_change_is_free {x : ℝ} (hx : 0 < x) :
54 Jcost (1 * x) = Jcost x := by simp
55
56/-- Scale invariance in log-space: J is symmetric under inversion. -/
57theorem log_space_symmetry {x : ℝ} (hx : 0 < x) :
58 Jcost x = Jcost x⁻¹ := Jcost_symm hx
59
60structure ScaleInvarianceCert where
61 rcl : ∀ {x y : ℝ}, 0 < x → 0 < y →
62 Jcost (x * y) + Jcost (x / y) = 2 * Jcost x * Jcost y + 2 * Jcost x + 2 * Jcost y
63 scale_cost_bound : ∀ {c x : ℝ}, 0 < c → 0 < x →
64 Jcost (c * x) ≤ 2 * Jcost c * Jcost x + 2 * Jcost c + 2 * Jcost x
65 free_at_unit : ∀ {x : ℝ}, 0 < x → Jcost (1 * x) = Jcost x
66 log_symmetric : ∀ {x : ℝ}, 0 < x → Jcost x = Jcost x⁻¹
67
68/-- Scale-invariance selection certificate. -/
69def scaleInvarianceCert : ScaleInvarianceCert where
70 rcl := rcl_equality
71 scale_cost_bound := scale_change_cost
72 free_at_unit := @no_scale_change_is_free
73 log_symmetric := Jcost_symm
74
75end
76end ScaleInvarianceSelectionCert
77end Cosmology
78end IndisputableMonolith
79