Pith. sign in

IndisputableMonolith.Gravity.Analysis.OrderSensitiveHistoryResponse4D

IndisputableMonolith/Gravity/Analysis/OrderSensitiveHistoryResponse4D.lean · 200 lines · 25 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Loom.Separation
   3import IndisputableMonolith.Gravity.Analysis.ClassicalSourceProjection
   4import IndisputableMonolith.Gravity.Analysis.Q3PatchSeating
   5import IndisputableMonolith.Gravity.Analysis.MetricEdgeImage4D
   6
   7/-!
   8# Order-sensitive history → edge-current response on the Freudenthal patch
   9
  10Frozen claims G2/G3 of
  11`holography/plans/OrderSensitive_Gravity_Proposition_20260802.html`.
  12
  13The response is built from the depth-two commutator reading of a Loom
  14`Config` (the same second-order content `Core.pairTraces` /
  15`HolonomyExpansion.pairSum` isolate). The reading is seated as an
  16antisymmetric Fin 16 edge current on the generator-(0,2) edge at
  17record-time false via `Q3PatchSeating`. No metric `H`, no `muCoord` table.
  18
  19## Honesty
  20
  21* THEOREM: separation, action firing, metric-image exclusion on cfgA/cfgB.
  22* MODEL: treating the depth-two fingerprint amplitude as a physical current.
  23* Scope of outside-image: not a linearized flat-patch metric perturbation.
  24-/
  25
  26namespace IndisputableMonolith
  27namespace Gravity
  28namespace Analysis
  29namespace OrderSensitiveHistoryResponse4D
  30
  31open IndisputableMonolith.Loom
  32open IndisputableMonolith.Loom.Certificate
  33open ClassicalSourceProjection
  34open Q3PatchSeating
  35open MetricEdgeImage4D
  36open BigOperators
  37
  38noncomputable section
  39
  40/-- Polynomial fingerprint of a Nat list. -/
  41def listFingerprint (l : List Nat) : Nat :=
  42  l.foldl (fun a x => a * 17 + x) 0
  43
  44def antisymEdge (a b : Fin 16) (amp : ℝ) : Fin 16 → Fin 16 → ℝ :=
  45  fun i j =>
  46    if i = a ∧ j = b then amp
  47    else if i = b ∧ j = a then -amp
  48    else 0
  49
  50/-- Generator-1 endpoints `(0,2)` seated at record-time false (`Loom.gen₁`). -/
  51def seatGen1 : Fin 16 × Fin 16 :=
  52  (seat (fun _ => false) false, seat (fun i => i = (1 : Fin 3)) false)
  53
  54/-- History response from depth-two reading. -/
  55def historyResponse (c : Config) : Fin 16 → Fin 16 → ℝ :=
  56  antisymEdge seatGen1.1 seatGen1.2 (listFingerprint (depthTwoReading c) : ℝ)
  57
  58def responseDiff (c₁ c₂ : Config) : Fin 16 → Fin 16 → ℝ :=
  59  fun i j => historyResponse c₁ i j - historyResponse c₂ i j
  60
  61/-- Local edge-current first variation (matches FreudenthalCoverEdgeCurrentAction4D). -/
  62def edgeCurrentFirstVariation (weight F VF : Fin 16 → Fin 16 → ℝ) : ℝ :=
  63  ∑ i, ∑ j, weight i j * Real.sinh (F i j) * VF i j
  64
  65def diracProbe (a b : Fin 16) : Fin 16 → Fin 16 → ℝ :=
  66  fun i j => if i = a ∧ j = b then (1 : ℝ) else 0
  67
  68def unitWeight : Fin 16 → Fin 16 → ℝ := fun _ _ => 1
  69
  70theorem seatGen1_ne : seatGen1.1 ≠ seatGen1.2 := by
  71  change (0 : Fin 16) ≠ 2
  72  decide
  73
  74theorem antisymEdge_fwd (a b : Fin 16) (amp : ℝ) (h : a ≠ b) :
  75    antisymEdge a b amp a b = amp := by
  76  unfold antisymEdge; simp [h]
  77
  78theorem antisymEdge_rev (a b : Fin 16) (amp : ℝ) (h : a ≠ b) :
  79    antisymEdge a b amp b a = -amp := by
  80  unfold antisymEdge; simp [h, Ne.symm h]
  81
  82theorem historyResponse_fwd (c : Config) :
  83    historyResponse c seatGen1.1 seatGen1.2 =
  84      (listFingerprint (depthTwoReading c) : ℝ) := by
  85  unfold historyResponse
  86  exact antisymEdge_fwd _ _ _ seatGen1_ne
  87
  88theorem historyResponse_rev (c : Config) :
  89    historyResponse c seatGen1.2 seatGen1.1 =
  90      -((listFingerprint (depthTwoReading c) : ℝ)) := by
  91  unfold historyResponse
  92  exact antisymEdge_rev _ _ _ seatGen1_ne
  93
  94theorem fingerprint_separates_cfgAB :
  95    listFingerprint (depthTwoReading cfgA) ≠
  96      listFingerprint (depthTwoReading cfgB) := by
  97  decide
  98
  99theorem historyResponse_separates_cfgAB :
 100    historyResponse cfgA ≠ historyResponse cfgB := by
 101  intro h
 102  have := congrFun (congrFun h seatGen1.1) seatGen1.2
 103  rw [historyResponse_fwd, historyResponse_fwd] at this
 104  exact fingerprint_separates_cfgAB (Nat.cast_injective this)
 105
 106theorem finiteCertificate_cfgAB :
 107    depthOneSource cfgA = depthOneSource cfgB ∧
 108      historyResponse cfgA ≠ historyResponse cfgB :=
 109  ⟨depth_one_is_blind, historyResponse_separates_cfgAB⟩
 110
 111theorem edgeCurrentFirstVariation_dirac (weight F : Fin 16 → Fin 16 → ℝ)
 112    (a b : Fin 16) :
 113    edgeCurrentFirstVariation weight F (diracProbe a b) =
 114      weight a b * Real.sinh (F a b) := by
 115  unfold edgeCurrentFirstVariation diracProbe
 116  have houter : ∀ i ∈ (Finset.univ : Finset (Fin 16)), i ≠ a →
 117      (∑ j, weight i j * Real.sinh (F i j) *
 118        (if i = a ∧ j = b then (1 : ℝ) else 0)) = 0 := by
 119    intro i _ hi
 120    apply Finset.sum_eq_zero
 121    intro j _
 122    rw [if_neg (fun h => hi h.1), mul_zero]
 123  rw [Finset.sum_eq_single a houter (fun h => absurd (Finset.mem_univ a) h)]
 124  have hinner : ∀ j ∈ (Finset.univ : Finset (Fin 16)), j ≠ b →
 125      weight a j * Real.sinh (F a j) *
 126        (if a = a ∧ j = b then (1 : ℝ) else 0) = 0 := by
 127    intro j _ hj
 128    rw [if_neg (fun h => hj h.2), mul_zero]
 129  rw [Finset.sum_eq_single b hinner (fun h => absurd (Finset.mem_univ b) h)]
 130  simp
 131
 132theorem edgeAction_separates_cfgAB :
 133    edgeCurrentFirstVariation unitWeight (historyResponse cfgA)
 134        (diracProbe seatGen1.1 seatGen1.2) ≠
 135      edgeCurrentFirstVariation unitWeight (historyResponse cfgB)
 136        (diracProbe seatGen1.1 seatGen1.2) := by
 137  rw [edgeCurrentFirstVariation_dirac, edgeCurrentFirstVariation_dirac,
 138    historyResponse_fwd, historyResponse_fwd]
 139  simp only [unitWeight, one_mul]
 140  intro hEq
 141  exact fingerprint_separates_cfgAB (Nat.cast_injective (Real.sinh_inj.mp hEq))
 142
 143theorem responseDiff_fwd :
 144    responseDiff cfgA cfgB seatGen1.1 seatGen1.2 =
 145      (listFingerprint (depthTwoReading cfgA) : ℝ) -
 146        (listFingerprint (depthTwoReading cfgB) : ℝ) := by
 147  simp [responseDiff, historyResponse_fwd]
 148
 149theorem responseDiff_rev :
 150    responseDiff cfgA cfgB seatGen1.2 seatGen1.1 =
 151      -responseDiff cfgA cfgB seatGen1.1 seatGen1.2 := by
 152  simp [responseDiff, historyResponse_rev, historyResponse_fwd]
 153  ring
 154
 155theorem responseDiff_fwd_ne :
 156    responseDiff cfgA cfgB seatGen1.1 seatGen1.2 ≠ 0 := by
 157  rw [responseDiff_fwd]
 158  have h := fingerprint_separates_cfgAB
 159  exact sub_ne_zero.mpr (fun hEq => h (Nat.cast_injective hEq))
 160
 161theorem responseDiff_cfgAB_not_in_MetricEdgeImage :
 162    ¬ MetricEdgeImage (responseDiff cfgA cfgB) := by
 163  rintro ⟨H, hF⟩
 164  have h0 := congrFun (congrFun hF seatGen1.1) seatGen1.2
 165  have h1 := congrFun (congrFun hF seatGen1.2) seatGen1.1
 166  have hsym := strainCurrent_symm H seatGen1.1 seatGen1.2
 167  have hanti := responseDiff_rev
 168  have hne := responseDiff_fwd_ne
 169  have : responseDiff cfgA cfgB seatGen1.1 seatGen1.2 =
 170      responseDiff cfgA cfgB seatGen1.2 seatGen1.1 := by
 171    calc
 172      responseDiff cfgA cfgB seatGen1.1 seatGen1.2
 173          = strainCurrent H seatGen1.1 seatGen1.2 := h0
 174      _ = strainCurrent H seatGen1.2 seatGen1.1 := hsym
 175      _ = responseDiff cfgA cfgB seatGen1.2 seatGen1.1 := h1.symm
 176  rw [hanti] at this
 177  have : responseDiff cfgA cfgB seatGen1.1 seatGen1.2 = 0 := by linarith
 178  exact hne this
 179
 180theorem decoy_depthOne_blind : depthOneSource cfgA = depthOneSource cfgB :=
 181  depth_one_is_blind
 182
 183theorem discovery_pair_is_certificate_cfgAB :
 184    depthTwoReading cfgA ≠ depthTwoReading cfgB :=
 185  depth_two_separates
 186
 187theorem orderSensitive_finite_gate_cfgAB :
 188    depthOneSource cfgA = depthOneSource cfgB ∧
 189      historyResponse cfgA ≠ historyResponse cfgB ∧
 190      ¬ MetricEdgeImage (responseDiff cfgA cfgB) :=
 191  ⟨depth_one_is_blind, historyResponse_separates_cfgAB,
 192    responseDiff_cfgAB_not_in_MetricEdgeImage⟩
 193
 194end
 195
 196end OrderSensitiveHistoryResponse4D
 197end Analysis
 198end Gravity
 199end IndisputableMonolith
 200

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