pith. machine review for the scientific record. sign in

IndisputableMonolith.Cosmology.ScaleInvarianceSelectionCert

IndisputableMonolith/Cosmology/ScaleInvarianceSelectionCert.lean · 79 lines · 6 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   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

source mirrored from github.com/jonwashburn/shape-of-logic