Pith. sign in

IndisputableMonolith.Gravity.Analysis.MetricEdgeImage4D

IndisputableMonolith/Gravity/Analysis/MetricEdgeImage4D.lean · 136 lines · 17 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-08-15 21:18:58.777915+00:00

   1import Mathlib
   2import IndisputableMonolith.Foundation.PairKernelDiscreteGauss
   3
   4/-!
   5# Finite linearized metric edge image on the Freudenthal patch
   6
   7Frozen world metric-null of
   8`holography/plans/OrderSensitive_Gravity_Proposition_20260802.html`.
   9
  10`MetricEdgeImage F` means `F` is the strain current of some `Mat4`
  11perturbation on the sixteen-site patch. The strain formula and binary
  12patch coordinates match `FreudenthalCoverEdgeCurrentAction4D` /
  13`FreudenthalCoverLedgerGraphPatch4D`, reproduced here so this module
  14does not import the heavy analysis chain.
  15
  16## Honesty
  17
  18* THEOREM: nontriviality, symmetry, properness against antisymmetric posting.
  19* Scope: linearized flat-patch metric perturbations via `strainCurrent`.
  20-/
  21
  22namespace IndisputableMonolith
  23namespace Gravity
  24namespace Analysis
  25namespace MetricEdgeImage4D
  26
  27open Foundation.PairKernelDiscreteGauss
  28open BigOperators
  29
  30abbrev Mat4 := Matrix (Fin 4) (Fin 4) ℝ
  31
  32/-- Binary site coordinates of the unit hypercube (matches `patchSite`). -/
  33def patchSite (v : Fin 16) (μ : Fin 4) : ℤ :=
  34  match μ with
  35  | 0 => ((v.val % 2 : ℕ) : ℤ)
  36  | 1 => ((v.val / 2 % 2 : ℕ) : ℤ)
  37  | 2 => ((v.val / 4 % 2 : ℕ) : ℤ)
  38  | 3 => ((v.val / 8 % 2 : ℕ) : ℤ)
  39
  40def patchDisp (i j : Fin 16) : Fin 4 → ℤ :=
  41  fun μ => patchSite j μ - patchSite i μ
  42
  43/-- Strain formula matching `ReggeExactFlatHessianBlochSymbol4D.edgeStrain`. -/
  44def edgeStrain (H : Mat4) (D : Fin 4 → ℤ) : ℝ :=
  45  ∑ i : Fin 4, ∑ j : Fin 4, H i j * (D i : ℝ) * (D j : ℝ)
  46
  47/-- Strain current on patch edges. -/
  48def strainCurrent (H : Mat4) : Fin 16 → Fin 16 → ℝ :=
  49  fun i j => edgeStrain H (patchDisp i j)
  50
  51/-- Finite linearized metric edge image on the patch. -/
  52def MetricEdgeImage (F : Fin 16 → Fin 16 → ℝ) : Prop :=
  53  ∃ H : Mat4, F = strainCurrent H
  54
  55theorem edgeStrain_neg (H : Mat4) (D : Fin 4 → ℤ) :
  56    edgeStrain H (fun μ => -D μ) = edgeStrain H D := by
  57  unfold edgeStrain
  58  simp [mul_neg, neg_mul, neg_neg]
  59
  60theorem patchDisp_symm (i j : Fin 16) (μ : Fin 4) :
  61    patchDisp j i μ = -patchDisp i j μ := by
  62  simp [patchDisp, sub_eq_add_neg, add_comm]
  63
  64theorem strainCurrent_symm (H : Mat4) (i j : Fin 16) :
  65    strainCurrent H i j = strainCurrent H j i := by
  66  unfold strainCurrent
  67  have hD : patchDisp j i = fun μ => -patchDisp i j μ := by
  68    funext μ; exact patchDisp_symm i j μ
  69  rw [hD, edgeStrain_neg]
  70
  71/-- Symmetric off-diagonal witness: H_{23} = H_{32} = 1. -/
  72def axisTTCross : Mat4 := fun i j =>
  73  if (i = 2 ∧ j = 3) ∨ (i = 3 ∧ j = 2) then (1 : ℝ) else 0
  74
  75theorem axisTTCross_in_MetricEdgeImage :
  76    MetricEdgeImage (strainCurrent axisTTCross) :=
  77  ⟨axisTTCross, rfl⟩
  78
  79private theorem patchDisp_zero_twelve :
  80    patchDisp (0 : Fin 16) 12 = fun μ =>
  81      (match μ with | 0 => (0 : ℤ) | 1 => 0 | 2 => 1 | 3 => 1) := by
  82  funext μ
  83  fin_cases μ <;> rfl
  84
  85theorem strainCurrent_axisTTCross_zero_twelve :
  86    strainCurrent axisTTCross (0 : Fin 16) 12 = 2 := by
  87  unfold strainCurrent
  88  rw [patchDisp_zero_twelve]
  89  unfold edgeStrain axisTTCross
  90  simp [Fin.sum_univ_four]
  91  norm_num
  92
  93theorem MetricEdgeImage_nontrivial :
  94    ∃ F, MetricEdgeImage F ∧ F ≠ fun _ _ => 0 := by
  95  refine ⟨strainCurrent axisTTCross, axisTTCross_in_MetricEdgeImage, ?_⟩
  96  intro h
  97  have := congrFun (congrFun h (0 : Fin 16)) (12 : Fin 16)
  98  rw [strainCurrent_axisTTCross_zero_twelve] at this
  99  exact absurd this (by norm_num)
 100
 101theorem elementaryPosting_zero_four_nonzero :
 102    elementaryPosting (0 : Fin 16) 4 0 4 = 1 := by
 103  unfold elementaryPosting
 104  simp
 105
 106theorem elementaryPosting_not_in_MetricEdgeImage :
 107    ¬ MetricEdgeImage (elementaryPosting (0 : Fin 16) 4) := by
 108  rintro ⟨H, hF⟩
 109  have hsym := strainCurrent_symm H (0 : Fin 16) 4
 110  have h0 := congrFun (congrFun hF (0 : Fin 16)) (4 : Fin 16)
 111  have h1 := congrFun (congrFun hF (4 : Fin 16)) (0 : Fin 16)
 112  have hanti : elementaryPosting (0 : Fin 16) 4 4 0 =
 113      -elementaryPosting (0 : Fin 16) 4 0 4 :=
 114    elementaryPosting_antisym (0 : Fin 16) 4 4 0
 115  have : elementaryPosting (0 : Fin 16) 4 0 4 =
 116      elementaryPosting (0 : Fin 16) 4 4 0 := by
 117    calc
 118      elementaryPosting (0 : Fin 16) 4 0 4 = strainCurrent H 0 4 := h0
 119      _ = strainCurrent H 4 0 := hsym
 120      _ = elementaryPosting (0 : Fin 16) 4 4 0 := h1.symm
 121  have hnz := elementaryPosting_zero_four_nonzero
 122  rw [hanti, hnz] at this
 123  linarith
 124
 125theorem zero_in_MetricEdgeImage :
 126    MetricEdgeImage (fun _ _ => 0) := by
 127  refine ⟨0, ?_⟩
 128  funext i j
 129  unfold strainCurrent edgeStrain
 130  simp
 131
 132end MetricEdgeImage4D
 133end Analysis
 134end Gravity
 135end IndisputableMonolith
 136

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