Pith. sign in

IndisputableMonolith.Gravity.SevenGaps.HKTKineticFromRecognitionCost

IndisputableMonolith/Gravity/SevenGaps/HKTKineticFromRecognitionCost.lean · 1217 lines · 68 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import IndisputableMonolith.Gravity.SevenGaps.HKTKineticNormalizedRigidity
   2import IndisputableMonolith.Cost.Convexity
   3import IndisputableMonolith.Cost.FunctionalEquation
   4import IndisputableMonolith.Cost.SymplecticAction
   5
   6/-!
   7# Pillar 1 work item 1: halving the disclosed constraint premise
   8
   9`HKTKineticNormalizedRigidity.KineticNormalizedCanonicalMom` carries a disclosed
  10premise,
  11
  12    S.hp a b p = (2 * cKin) * p     with `cKin ≠ 0` constant,
  13
  14and four kill theorems in that module show the rigidity conclusion is false
  15without it, so the premise carries the whole load. This module reduces that load
  16and reports, in Lean, exactly how far the reduction goes and where it stops.
  17
  18## What is established
  19
  20**§2. Only half the premise was ever an assumption.** The premise says two
  21things: the momentum response is linear in the momentum, and its coefficient
  22does not look at the neighbouring field values. Assume only the second, together
  23with vanishing at zero momentum,
  24
  25    S.hp a b p = φ p,   φ 0 = 0,
  26
  27and the point-split functional equation carried by every `CanonicalMom` target
  28forces `φ` to be exactly linear, with an explicit nonzero coefficient
  29(`kinetic_normalization_of_universal_response`). No recognition input is used.
  30Under the ambient `CanonicalMom` axioms the two classes are therefore
  31*equivalent*, which is what `UniversalKineticCanonicalMom.toKineticNormalized`
  32and its converse say. The result is not a larger model class; it is that the
  33load-bearing surface of the disclosed premise is field-independence alone.
  34
  35**§3. Field-independence is equivalent to channel separation.** Writing the
  36density as a momentum-channel cost plus a link term, `h a b p = K p + U a b`
  37with `K` stationary at zero momentum, is equivalent to §2's hypothesis
  38(`universal_of_channelSeparated`, `channelSeparated_of_universal`). That is a
  39restatement, not a weakening, and it is recorded as one. Its only value is
  40provenance: `Foundation.JHessianGolden.additivePosting` already formalizes
  41recognition cost as posted additively coordinate by coordinate,
  42`Φ(x) = Σᵢ J(xᵢ)`, with Hessian `diag(J''(xᵢ))`. Channel separation is that
  43additivity applied to a two-channel split. Whether the momentum and the spatial
  44link are distinct ledger channels is **not proved here**; see the open items
  45below.
  46
  47**§4. The exact cost is excluded from the linear chart.** Identify the momentum
  48with the log-imbalance linearly, `t = κ p`; then `Jlog t = cosh t - 1` gives
  49momentum response `w κ sinh (κ p)`, derived rather than assumed
  50(`costKinetic_hp_eq_sinh`), which §2 forces linear, and `sinh` is not linear
  51(`no_exact_cost_kinetic_canonicalMom`). Read the scope literally: this excludes
  52that chart, not the cost. §8 exhibits a chart in which the exact cost is
  53quadratic and does inhabit the algebra.
  54
  55**§5. The balance jet fits, with a fitted coefficient.** The second-order jet
  56about balance is `JlogQuad t = (J''(1) / 2) * t ^ 2`
  57(`JlogQuad_matches_Jlog_to_second_order`). A target with that momentum sector
  58satisfies the disclosed premise with `cKin = w * κ ^ 2 * J''(1) / 2`
  59(`quadCost_hp_eq_linear`) and inherits full ADM rigidity
  60(`quadCost_ADM_rigidity`). Both `w` and `κ` are free, so that number is a fit.
  61
  62**§6. The load-bearing test.** The variable-kinetic inhabitant of the kill tower
  63is a field-dependent cost weight and is excluded from the universal class
  64(`vacuumKinetic_not_universalKinetic`), while the ADM anchor still inhabits it,
  65so §2 has not emptied the class.
  66
  67**§7 does not work, and says so.** Its route was to impose the calibration
  68condition `J''(1) = 1` on a per-site jet family. Three defects kill it: the
  69family is defined in this module, so the per-site condition is settled by an
  70unfold and is the between-site equality renamed; the free chart absorbs the
  71value, so only constancy does work and the recognition number does none; and the
  72family fails the Recognition Composition Law outright (`jetCost_not_rcl`). The
  73section is kept with that diagnosis because the general lesson transfers: a
  74pointwise recognition condition carries weight only in proportion to the depth of
  75the uniqueness theorem behind it, and none at all if the ambient free parameters
  76can absorb its value.
  77
  78**§8. The composition law carries the premise.** Two results. First the chart:
  79`J (exp t) = 2 sinh (t / 2) ^ 2`, so identifying the momentum with the
  80half-imbalance *sine*, `t = 2 arsinh (λ p)`, makes the exact recognition cost
  81`2 λ ^ 2 p ^ 2` with no truncation (`Jlog_two_arsinh`). The exact cost inhabits
  82the undeformed algebra, and §5's truncation was an artifact of §4's chart. Then
  83the derivation: let each site carry its own cost weight `W a b`, so
  84field-independence is absent from the hypothesis, and require each site's weight
  85to satisfy the Recognition Composition Law. Since `w * J` satisfies that law only
  86for `w` in `{0, 1}` (`compositionLaw_forces_unit_weight`), because a rescaled
  87recognition cost is not a recognition cost, every weight is forced to `1`, hence
  88`S.hp a b p = 4 λ ^ 2 p` and `cKin = 2 λ ^ 2 > 0`
  89(`rclKinetic_hp_eq_linear`, `rclKinetic_ADM_rigidity`). The ADM anchor inhabits
  90the class at `λ = 1/2` with its own coefficient `1/2` (`hamDynRCLKinetic`), and
  91deleting the clause readmits the kill inhabitant *exactly*, not by analogy: at
  92`λ = 1/2` with weights `2 / (1 + a ^ 2)` the profile is
  93`vacuumKineticLocalProfile` (`vacuumKineticLocalProfile_eq_exactCost`), which
  94`not_HKTRigidityModVacuumStatementN2` refutes. The exclusion is also proved
  95directly from the clause (`no_rcl_presentation_of_vacuumKinetic`).
  96
  97## What is and is not established
  98
  99Established: the substrate supplies two facts about the constraint sector that
 100the algebra does not. The momentum-channel cost weight cannot vary from site to
 101site, and it cannot be negative, so the kinetic coefficient is field-independent
 102and positive. Both come from one theorem about the composition law, applied to
 103the repo's own `Cost.Jcost`, and deleting that theorem's hypothesis makes the
 104rigidity conclusion false rather than weaker.
 105
 106Not established: the magnitude. `cKin = 2 λ ^ 2` with `λ` free, and `λ` is fixed
 107in the anchor only by matching ADM's coefficient, so it is fitted. Nor is the
 108channel identification discharged: the chart is assumed to be one global
 109constant, and a site-dependent chart `λ a b` reproduces the kill inhabitant at
 110unit weight. That is the honest boundary. Recognition now does logical work in
 111the constraint sector, and it does not yet predict a number there.
 112
 113## The open objects, named
 114
 1151. A ledger-axiom predicate on point-split targets that forces the chart to be
 116   global, which is what would discharge the channel identification. The test it
 117   must pass is sharper than before: it has to separate two countermodels, the
 118   variable-weight kill inhabitant *and* the unit-weight site-dependent chart
 119   `λ a b`. A predicate that only excludes the first is another guard that does
 120   not discriminate.
 1212. Any independent fixing of `λ`, that is, a quantization of the momentum-channel
 122   half-imbalance sine against a recognition constant rather than against ADM's
 123   `cKin`. This is the only thing that would turn `cKin = 2 λ ^ 2` from a
 124   positivity statement into a number.
 125
 126Provenance of the corrections: a cross-family hostile read (Grok 4.5, 2026-07-25)
 127forced the §1 to §6 language, and a four-family panel (Opus 5, Grok 4.5,
 128GPT-5.6 Sol, Kimi K3, 2026-07-25) killed §7 and supplied both the composition-law
 129route and the chart identity that §8 is built on.
 130
 131No `sorry`, no `admit`, no new axiom, no `native_decide`. No FullTheoryLedger
 132flag changes.
 133-/
 134
 135namespace IndisputableMonolith
 136namespace Gravity
 137namespace SevenGaps
 138namespace HKTKineticFromRecognitionCost
 139
 140open HypersurfaceDeformation DynamicStructureBracket DynamicStructureFunctionBlocker
 141open HKTPointSplitTarget HKTPointSplitStrong HKTLocalFunctionalEquation
 142open HKTCanonicalMomTarget HKTCanonicalMomRigidity
 143open HKTKineticNormalizedRigidity
 144open FullTheoryLedger
 145
 146noncomputable section
 147
 148/-! ## §1. The weakened premise -/
 149
 150/-- A `CanonicalMom` target whose momentum response is *ultralocal-universal*:
 151it depends on the momentum alone, not on the neighbouring field values, and it
 152vanishes at zero momentum.
 153
 154As a hypothesis this is weaker than `KineticNormalizedCanonicalMom`, which also
 155demands linearity. As a class it is not larger: §2 proves the two coincide under
 156the ambient `CanonicalMom` axioms. -/
 157structure UniversalKineticCanonicalMom where
 158  target : HKTPointSplitTargetDynCanonicalMom
 159  universal_response :
 160    ∃ (h : LocalHamProfile) (S : LocalHamSmooth h) (φ : ℝ → ℝ),
 161      ContDiff ℝ 2 (profileMap h) ∧
 162        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 163          target.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j)) ∧
 164          (∀ a b p : ℝ, S.hp a b p = φ p) ∧ φ 0 = 0
 165
 166/-! ## §2. The functional equation forces linearity -/
 167
 168/-- The structure function of a `CanonicalMom` target takes a nonzero value
 169somewhere: a structure function vanishing identically would be phase-space
 170constant, which `structure_nonconstant` forbids. -/
 171theorem exists_structure_value_ne_zero
 172    (T : HKTPointSplitTargetDynCanonicalMom) (g : ℝ → ℝ)
 173    (hG : ∀ (x : PhaseSpace 2) (j : ZMod 2), T.structureFunction x j = g (x.1 j)) :
 174    ∃ a : ℝ, g a ≠ 0 := by
 175  by_contra hall
 176  push_neg at hall
 177  refine T.structure_nonconstant ?_
 178  intro x y j
 179  rw [hG x j, hG y j, hall (x.1 j), hall (y.1 j)]
 180
 181/-- **Half the premise, derived.** A field-independent momentum response
 182vanishing at zero momentum is automatically linear on any `CanonicalMom`
 183point-split target, with the coefficient read off the momentum coupling, the
 184structure function, and the gradient response at one point.
 185
 186Nothing about recognition enters. What enters is that the point-split functional
 187equation is separately linear in each momentum slot, so a response that cannot
 188hide field dependence cannot hide nonlinearity either. The choice of the point
 189`(a₀, a₀ + 1)` is free: the denominator cannot vanish, since a vanishing one
 190would make the equation read `0 = cMom * g a₀ * r`, false at `r = 1`. -/
 191theorem kinetic_normalization_of_universal_response
 192    (T : HKTPointSplitTargetDynCanonicalMom)
 193    (h : LocalHamProfile) (S : LocalHamSmooth h) (g : ℝ → ℝ) (cMom : ℝ) (φ : ℝ → ℝ)
 194    (hHam : ∀ (x : PhaseSpace 2) (j : ZMod 2),
 195      T.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j))
 196    (hG : ∀ (x : PhaseSpace 2) (j : ZMod 2), T.structureFunction x j = g (x.1 j))
 197    (hcMom : cMom ≠ 0)
 198    (hMom : ∀ (x : PhaseSpace 2) (j : ZMod 2),
 199      T.momDensity x j = cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j))
 200    (hUniv : ∀ a b p : ℝ, S.hp a b p = φ p) (hφ0 : φ 0 = 0) :
 201    ∃ cKin : ℝ, cKin ≠ 0 ∧ ∀ a b p : ℝ, S.hp a b p = (2 * cKin) * p := by
 202  obtain ⟨a₀, hga₀⟩ := exists_structure_value_ne_zero T g hG
 203  have hFE := alternating_FE_of_profile T h S g cMom hHam hG hMom
 204  -- Evaluate the functional equation at `(a, b, p, r) = (a₀, a₀ + 1, 0, r)`.
 205  have key : ∀ r : ℝ, S.hb a₀ (a₀ + 1) 0 * φ r = cMom * g a₀ * r := by
 206    intro r
 207    have hr := hFE a₀ (a₀ + 1) 0 r
 208    rw [hUniv (a₀ + 1) a₀ r, hUniv a₀ (a₀ + 1) 0, hφ0] at hr
 209    have hsub : a₀ + 1 - a₀ = (1 : ℝ) := by ring
 210    rw [hsub] at hr
 211    linarith [hr]
 212  have hprod : cMom * g a₀ ≠ 0 := mul_ne_zero hcMom hga₀
 213  have hbne : S.hb a₀ (a₀ + 1) 0 ≠ 0 := by
 214    intro h0
 215    have h1 := key 1
 216    rw [h0, zero_mul, mul_one] at h1
 217    exact hprod h1.symm
 218  refine ⟨cMom * g a₀ / (2 * S.hb a₀ (a₀ + 1) 0), ?_, ?_⟩
 219  · exact div_ne_zero hprod (mul_ne_zero two_ne_zero hbne)
 220  · intro a b p
 221    rw [hUniv a b p]
 222    refine mul_left_cancel₀ hbne ?_
 223    rw [key p]
 224    field_simp
 225
 226/-- The derived coefficient does not depend on which point was used to read it
 227off: any two constants presenting the same response agree. -/
 228theorem kinetic_coefficient_unique {h : LocalHamProfile} (S : LocalHamSmooth h)
 229    (c₁ c₂ : ℝ)
 230    (h₁ : ∀ a b p : ℝ, S.hp a b p = (2 * c₁) * p)
 231    (h₂ : ∀ a b p : ℝ, S.hp a b p = (2 * c₂) * p) : c₁ = c₂ := by
 232  have hEq := (h₁ 0 0 1).symm.trans (h₂ 0 0 1)
 233  linarith [hEq]
 234
 235/-- Every universal-response target is kinetic-normalized. -/
 236def UniversalKineticCanonicalMom.toKineticNormalized
 237    (T : UniversalKineticCanonicalMom) : KineticNormalizedCanonicalMom where
 238  target := T.target
 239  kinetic_normalized := by
 240    obtain ⟨h, S, φ, hcd, hHam, hUniv, hφ0⟩ := T.universal_response
 241    obtain ⟨g, hG⟩ := T.target.structure_profile
 242    obtain ⟨cMom, hcMom, hMom⟩ := T.target.canonical_mom
 243    obtain ⟨cKin, hcKin, hHp⟩ :=
 244      kinetic_normalization_of_universal_response T.target h S g cMom φ hHam hG
 245        hcMom hMom hUniv hφ0
 246    exact ⟨h, S, cKin, hcd, hcKin, hHam, hHp⟩
 247
 248/-- And conversely, so the two classes are the same class and §2 is an
 249equivalence rather than an enlargement. -/
 250def KineticNormalizedCanonicalMom.toUniversalKinetic
 251    (T : KineticNormalizedCanonicalMom) : UniversalKineticCanonicalMom where
 252  target := T.target
 253  universal_response := by
 254    obtain ⟨h, S, cKin, hcd, _hcKin, hHam, hHp⟩ := T.kinetic_normalized
 255    exact ⟨h, S, fun p => (2 * cKin) * p, hcd, hHam, hHp, by ring⟩
 256
 257/-- **Rigidity without the assumed normalization.** The ADM shape and the
 258canonical momentum form hold for every target whose momentum response is merely
 259field-independent and stationary at zero momentum. -/
 260theorem HKTRigidityUniversalKineticN2_holds (T : UniversalKineticCanonicalMom) :
 261    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
 262      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
 263        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 264          T.target.hamDensity x j =
 265            cKin * (x.2 j * x.2 j) +
 266              cGrad *
 267                (T.target.structureFunction x j *
 268                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
 269              V (x.1 j)) ∧
 270        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 271          T.target.momDensity x j =
 272            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
 273  HKTRigidityKineticNormalizedN2_holds T.toKineticNormalized
 274
 275/-! ## §3. Channel separation, and where its provenance stops -/
 276
 277/-- The density splits into a momentum-channel cost and a link term, with the
 278momentum channel stationary at zero momentum.
 279
 280`Foundation.JHessianGolden.additivePosting` formalizes recognition cost as
 281posted additively coordinate by coordinate, `Φ(x) = Σᵢ J(xᵢ)`, with Hessian
 282`diag(J''(xᵢ))`; this is that additivity for a two-channel split, and the
 283stationarity clause is `J'(1) = 0` transported to the momentum chart. The two
 284theorems below show this is logically the same hypothesis as §2's, so the
 285recognition layer supplies provenance and not strength. -/
 286def ChannelSeparated (h : LocalHamProfile) : Prop :=
 287  ∃ (K : ℝ → ℝ) (U : ℝ → ℝ → ℝ),
 288    (∀ a b p : ℝ, h a b p = K p + U a b) ∧ HasDerivAt K 0 0
 289
 290theorem universal_of_channelSeparated
 291    (h : LocalHamProfile) (S : LocalHamSmooth h)
 292    (hcd : ContDiff ℝ 2 (profileMap h)) (hCS : ChannelSeparated h) :
 293    ∃ φ : ℝ → ℝ, (∀ a b p : ℝ, S.hp a b p = φ p) ∧ φ 0 = 0 := by
 294  obtain ⟨K, U, hEq, hK0⟩ := hCS
 295  have hKderiv : ∀ a b p : ℝ, HasDerivAt K (S.hp a b p) p := by
 296    intro a b p
 297    have hS := hasDerivAt_hp_of_normalized h S hcd a b p
 298    have hfun : (fun t => h a b t) = fun t => K t + U a b :=
 299      funext fun t => hEq a b t
 300    rw [hfun] at hS
 301    simpa using hS.add_const (-(U a b))
 302  refine ⟨fun p => S.hp 0 0 p, ?_, ?_⟩
 303  · intro a b p
 304    exact (hKderiv a b p).unique (hKderiv 0 0 p)
 305  · exact (hKderiv 0 0 0).unique hK0
 306
 307theorem channelSeparated_of_universal
 308    (h : LocalHamProfile) (S : LocalHamSmooth h)
 309    (hcd : ContDiff ℝ 2 (profileMap h)) (φ : ℝ → ℝ)
 310    (hUniv : ∀ a b p : ℝ, S.hp a b p = φ p) (hφ0 : φ 0 = 0) :
 311    ChannelSeparated h := by
 312  refine ⟨fun p => h 0 0 p - h 0 0 0, fun a b => h a b 0, ?_, ?_⟩
 313  · intro a b p
 314    have hF : ∀ t : ℝ, HasDerivAt (fun u => h a b u - h 0 0 u) 0 t := by
 315      intro t
 316      have h1 := hasDerivAt_hp_of_normalized h S hcd a b t
 317      have h2 := hasDerivAt_hp_of_normalized h S hcd 0 0 t
 318      have hsub := h1.sub h2
 319      rw [hUniv a b t, hUniv 0 0 t, sub_self] at hsub
 320      exact hsub
 321    have hdiff : Differentiable ℝ (fun u => h a b u - h 0 0 u) :=
 322      fun t => (hF t).differentiableAt
 323    have hconst :=
 324      is_const_of_deriv_eq_zero hdiff (fun t => (hF t).deriv) p 0
 325    simp only at hconst
 326    linarith [hconst]
 327  · have h1 := hasDerivAt_hp_of_normalized h S hcd 0 0 0
 328    rw [hUniv 0 0 0, hφ0] at h1
 329    exact h1.sub_const (h 0 0 0)
 330
 331/-! ## §4. The exact recognition cost is excluded -/
 332
 333/-- A local Hamiltonian density carrying its momentum dependence as the
 334recognition cost of a ledger imbalance, read in the log-imbalance chart: the
 335momentum `p` sits at ledger ratio `exp (κ * p)`, whose cost is `Jlog (κ * p)`,
 336with cost weight `w`. Both `w` and `κ` are free constants. -/
 337def costKineticProfile (w κ : ℝ) (U : ℝ → ℝ → ℝ) : LocalHamProfile :=
 338  fun a b p => w * Cost.Jlog (κ * p) + U a b
 339
 340/-- A `CanonicalMom` target whose momentum sector is the exact recognition cost. -/
 341structure CostKineticCanonicalMom where
 342  target : HKTPointSplitTargetDynCanonicalMom
 343  cost_kinetic :
 344    ∃ (h : LocalHamProfile) (S : LocalHamSmooth h) (w κ : ℝ) (U : ℝ → ℝ → ℝ),
 345      ContDiff ℝ 2 (profileMap h) ∧ w ≠ 0 ∧ κ ≠ 0 ∧
 346        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 347          target.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j)) ∧
 348          (∀ a b p : ℝ, h a b p = w * Cost.Jlog (κ * p) + U a b)
 349
 350/-- The momentum response of a recognition-cost density is `w κ sinh (κ p)`,
 351derived from `Jlog = cosh - 1` rather than assumed. -/
 352theorem costKinetic_hp_eq_sinh
 353    (h : LocalHamProfile) (S : LocalHamSmooth h) (w κ : ℝ) (U : ℝ → ℝ → ℝ)
 354    (hcd : ContDiff ℝ 2 (profileMap h))
 355    (hProf : ∀ a b p : ℝ, h a b p = w * Cost.Jlog (κ * p) + U a b)
 356    (a b p : ℝ) :
 357    S.hp a b p = w * (Real.sinh (κ * p) * κ) := by
 358  have hS := hasDerivAt_hp_of_normalized h S hcd a b p
 359  have hfun : (fun t => h a b t) = fun t => w * Cost.Jlog (κ * t) + U a b :=
 360    funext fun t => hProf a b t
 361  rw [hfun] at hS
 362  have hinner : HasDerivAt (fun t : ℝ => κ * t) κ p := by
 363    simpa using (hasDerivAt_id p).const_mul κ
 364  have hJ : HasDerivAt (fun t : ℝ => Cost.Jlog (κ * t)) (Real.sinh (κ * p) * κ) p :=
 365    (Cost.hasDerivAt_Jlog (κ * p)).comp p hinner
 366  have hexp : HasDerivAt (fun t : ℝ => w * Cost.Jlog (κ * t) + U a b)
 367      (w * (Real.sinh (κ * p) * κ)) p := (hJ.const_mul w).add_const (U a b)
 368  exact hS.unique hexp
 369
 370/-- The cost form satisfies §2's two hypotheses: field-independence because the
 371cost reads the imbalance alone, vanishing at zero momentum because the cost is
 372stationary at the balanced ratio. -/
 373theorem costKinetic_universal
 374    (h : LocalHamProfile) (S : LocalHamSmooth h) (w κ : ℝ) (U : ℝ → ℝ → ℝ)
 375    (hcd : ContDiff ℝ 2 (profileMap h))
 376    (hProf : ∀ a b p : ℝ, h a b p = w * Cost.Jlog (κ * p) + U a b) :
 377    (∀ a b p : ℝ, S.hp a b p = w * (Real.sinh (κ * p) * κ)) ∧
 378      w * (Real.sinh (κ * 0) * κ) = 0 := by
 379  refine ⟨costKinetic_hp_eq_sinh h S w κ U hcd hProf, ?_⟩
 380  rw [mul_zero, Real.sinh_zero, zero_mul, mul_zero]
 381
 382private theorem one_lt_cosh_one : (1 : ℝ) < Real.cosh 1 := by
 383  rw [Real.cosh_eq]
 384  have h1 : (2.7182818283 : ℝ) < Real.exp 1 := Real.exp_one_gt_d9
 385  have h2 : (0 : ℝ) < Real.exp (-1) := Real.exp_pos _
 386  linarith
 387
 388private theorem sinh_one_pos : (0 : ℝ) < Real.sinh 1 := by
 389  rw [Real.sinh_eq]
 390  have h1 : (2.7182818283 : ℝ) < Real.exp 1 := Real.exp_one_gt_d9
 391  have h2 : Real.exp (-1) < Real.exp 0 := Real.exp_lt_exp.mpr (by norm_num)
 392  rw [Real.exp_zero] at h2
 393  linarith
 394
 395/-- `sinh` is not linear: no constant rescaling of the identity matches it. -/
 396theorem sinh_not_linear (c : ℝ) : ¬ ∀ t : ℝ, Real.sinh t = c * t := by
 397  intro hlin
 398  have h1 : Real.sinh 1 = c := by
 399    have := hlin 1
 400    linarith [this]
 401  have h2 : Real.sinh 2 = c * 2 := hlin 2
 402  have htwo : Real.sinh (2 * (1 : ℝ)) = 2 * Real.sinh 1 * Real.cosh 1 :=
 403    Real.sinh_two_mul 1
 404  rw [show (2 * (1 : ℝ)) = 2 by norm_num] at htwo
 405  rw [h2, h1] at htwo
 406  have hcpos : (0 : ℝ) < c := by rw [← h1]; exact sinh_one_pos
 407  nlinarith [one_lt_cosh_one, hcpos, htwo]
 408
 409/-- **The exclusion, in the linear chart only.** No nondegenerate `CanonicalMom`
 410point-split target carries the exact recognition cost in its momentum sector
 411*when the momentum is identified with the log-imbalance linearly*, `t = κ p`.
 412
 413§2 forces the momentum response linear; §4 makes it `w κ sinh (κ p)`; `sinh` is
 414not linear. Read the scope literally: `CostKineticCanonicalMom` hardcodes the
 415linear chart, so this excludes that chart and not the cost. §8 exhibits a chart in
 416which the same exact cost is quadratic and does inhabit the algebra, so this is a
 417no-go about a coordinate identification rather than about recognition. It is also
 418not a statement that the higher terms are a physical correction: in this chart
 419they leave the algebra rather than deform it. -/
 420theorem no_exact_cost_kinetic_canonicalMom : IsEmpty CostKineticCanonicalMom := by
 421  constructor
 422  intro T
 423  obtain ⟨h, S, w, κ, U, hcd, hw, hκ, hHam, hProf⟩ := T.cost_kinetic
 424  obtain ⟨g, hG⟩ := T.target.structure_profile
 425  obtain ⟨cMom, hcMom, hMom⟩ := T.target.canonical_mom
 426  obtain ⟨hHp, hφ0⟩ := costKinetic_universal h S w κ U hcd hProf
 427  obtain ⟨cKin, _hcKin, hLin⟩ :=
 428    kinetic_normalization_of_universal_response T.target h S g cMom
 429      (fun p => w * (Real.sinh (κ * p) * κ)) hHam hG hcMom hMom hHp hφ0
 430  have hall : ∀ p : ℝ, w * (Real.sinh (κ * p) * κ) = (2 * cKin) * p := by
 431    intro p
 432    rw [← hHp 0 0 p]
 433    exact hLin 0 0 p
 434  refine sinh_not_linear (2 * cKin / (w * κ * κ)) ?_
 435  intro t
 436  have ht := hall (t / κ)
 437  rw [mul_div_cancel₀ t hκ] at ht
 438  field_simp at ht ⊢
 439  nlinarith [ht]
 440
 441/-! ## §5. The surviving object: the balance jet -/
 442
 443/-- The recognition cost's curvature at the balanced ratio, `deriv (deriv Jcost) 1`,
 444proved equal to `1` in `Cost/Convexity.lean`. -/
 445def recogCurvature : ℝ := deriv (deriv Cost.Jcost) 1
 446
 447theorem recogCurvature_eq_one : recogCurvature = 1 := Cost.deriv2_Jcost_one
 448
 449/-- The second-order jet of the recognition cost about balance, written so that
 450its coefficient is literally the recognition primitive. -/
 451def JlogQuad (t : ℝ) : ℝ := (recogCurvature / 2) * t ^ 2
 452
 453theorem JlogQuad_eq_half_sq (t : ℝ) : JlogQuad t = t ^ 2 / 2 := by
 454  rw [JlogQuad, recogCurvature_eq_one]; ring
 455
 456theorem deriv_Jlog_eq_sinh : deriv Cost.Jlog = Real.sinh :=
 457  funext fun t => (Cost.hasDerivAt_Jlog t).deriv
 458
 459/-- The curvature of the recognition cost at balance, computed in the
 460log-imbalance chart, is `J''(1)`. -/
 461theorem deriv2_Jlog_zero_eq_recogCurvature :
 462    deriv (deriv Cost.Jlog) 0 = recogCurvature := by
 463  rw [deriv_Jlog_eq_sinh, Real.deriv_sinh, Real.cosh_zero, recogCurvature_eq_one]
 464
 465theorem hasDerivAt_JlogQuad (t : ℝ) :
 466    HasDerivAt JlogQuad (recogCurvature * t) t := by
 467  have hsq : HasDerivAt (fun u : ℝ => u ^ 2) (2 * t) t := by
 468    simpa using (hasDerivAt_id t).pow 2
 469  have hmul := hsq.const_mul (recogCurvature / 2)
 470  have hrw : recogCurvature / 2 * (2 * t) = recogCurvature * t := by ring
 471  rw [hrw] at hmul
 472  exact hmul
 473
 474private theorem deriv_JlogQuad_eq : deriv JlogQuad = fun t => recogCurvature * t :=
 475  funext fun t => (hasDerivAt_JlogQuad t).deriv
 476
 477/-- `JlogQuad` is the second-order jet: value, slope, and curvature at balance
 478all agree with the exact recognition cost. -/
 479theorem JlogQuad_matches_Jlog_to_second_order :
 480    JlogQuad 0 = Cost.Jlog 0 ∧
 481      deriv JlogQuad 0 = deriv Cost.Jlog 0 ∧
 482        deriv (deriv JlogQuad) 0 = deriv (deriv Cost.Jlog) 0 := by
 483  have hval : JlogQuad 0 = Cost.Jlog 0 := by
 484    rw [JlogQuad_eq_half_sq, Cost.Jlog_as_cosh, Real.cosh_zero]; norm_num
 485  have hslope : deriv JlogQuad 0 = deriv Cost.Jlog 0 := by
 486    rw [deriv_JlogQuad_eq, deriv_Jlog_eq_sinh]
 487    show recogCurvature * (0 : ℝ) = Real.sinh 0
 488    rw [mul_zero, Real.sinh_zero]
 489  have hcurv : deriv (deriv JlogQuad) 0 = deriv (deriv Cost.Jlog) 0 := by
 490    rw [deriv_JlogQuad_eq, deriv2_Jlog_zero_eq_recogCurvature]
 491    have hlin : HasDerivAt (fun t : ℝ => recogCurvature * t) recogCurvature 0 := by
 492      simpa using (hasDerivAt_id (0 : ℝ)).const_mul recogCurvature
 493    exact hlin.deriv
 494  exact ⟨hval, hslope, hcurv⟩
 495
 496/-- A local Hamiltonian density whose momentum sector is the recognition cost
 497truncated at its balance jet. -/
 498def quadCostKineticProfile (w κ : ℝ) (U : ℝ → ℝ → ℝ) : LocalHamProfile :=
 499  fun a b p => w * JlogQuad (κ * p) + U a b
 500
 501/-- A `CanonicalMom` target whose momentum sector is the balance jet. -/
 502structure QuadCostKineticCanonicalMom where
 503  target : HKTPointSplitTargetDynCanonicalMom
 504  quad_cost_kinetic :
 505    ∃ (h : LocalHamProfile) (S : LocalHamSmooth h) (w κ : ℝ) (U : ℝ → ℝ → ℝ),
 506      ContDiff ℝ 2 (profileMap h) ∧ w ≠ 0 ∧ κ ≠ 0 ∧
 507        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 508          target.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j)) ∧
 509          (∀ a b p : ℝ, h a b p = w * JlogQuad (κ * p) + U a b)
 510
 511/-- The disclosed premise holds for a balance-jet density with
 512
 513    cKin = w * κ ^ 2 * J''(1) / 2.
 514
 515Field-independent because `J''` is evaluated at the balanced ratio, where it is
 516the universal number `1`; `J''` itself is `x ^ (-3)` and is not constant, so
 517field-independence is a property of balance and not an identity. `w` and `κ`
 518are free, so this expression fixes no number: it is a consistency statement, not
 519a prediction. -/
 520theorem quadCost_hp_eq_linear
 521    (h : LocalHamProfile) (S : LocalHamSmooth h) (w κ : ℝ) (U : ℝ → ℝ → ℝ)
 522    (hcd : ContDiff ℝ 2 (profileMap h))
 523    (hProf : ∀ a b p : ℝ, h a b p = w * JlogQuad (κ * p) + U a b)
 524    (a b p : ℝ) :
 525    S.hp a b p = (2 * (w * κ ^ 2 * recogCurvature / 2)) * p := by
 526  have hS := hasDerivAt_hp_of_normalized h S hcd a b p
 527  have hfun : (fun t => h a b t) = fun t => w * JlogQuad (κ * t) + U a b :=
 528    funext fun t => hProf a b t
 529  rw [hfun] at hS
 530  have hinner : HasDerivAt (fun t : ℝ => κ * t) κ p := by
 531    simpa using (hasDerivAt_id p).const_mul κ
 532  have hJ : HasDerivAt (fun t : ℝ => JlogQuad (κ * t))
 533      (recogCurvature * (κ * p) * κ) p :=
 534    (hasDerivAt_JlogQuad (κ * p)).comp p hinner
 535  have hexp : HasDerivAt (fun t : ℝ => w * JlogQuad (κ * t) + U a b)
 536      (w * (recogCurvature * (κ * p) * κ)) p := (hJ.const_mul w).add_const (U a b)
 537  rw [hS.unique hexp]
 538  ring
 539
 540theorem quadCost_cKin_ne_zero {w κ : ℝ} (hw : w ≠ 0) (hκ : κ ≠ 0) :
 541    w * κ ^ 2 * recogCurvature / 2 ≠ 0 := by
 542  have hnum : w * κ ^ 2 * recogCurvature ≠ 0 := by
 543    rw [recogCurvature_eq_one, mul_one]
 544    exact mul_ne_zero hw (pow_ne_zero 2 hκ)
 545  exact div_ne_zero hnum (by norm_num : (2 : ℝ) ≠ 0)
 546
 547/-- A balance-jet target inhabits the kinetic-normalized class with the derived
 548coefficient, so it consumes the derived form rather than an assumed field. -/
 549def QuadCostKineticCanonicalMom.toKineticNormalized
 550    (T : QuadCostKineticCanonicalMom) : KineticNormalizedCanonicalMom where
 551  target := T.target
 552  kinetic_normalized := by
 553    obtain ⟨h, S, w, κ, U, hcd, hw, hκ, hHam, hProf⟩ := T.quad_cost_kinetic
 554    exact ⟨h, S, w * κ ^ 2 * recogCurvature / 2, hcd,
 555      quadCost_cKin_ne_zero hw hκ, hHam,
 556      quadCost_hp_eq_linear h S w κ U hcd hProf⟩
 557
 558/-- Every balance-jet target is ADM in shape with canonical momentum form, and
 559no normalization is assumed in the hypothesis. -/
 560theorem quadCost_ADM_rigidity (T : QuadCostKineticCanonicalMom) :
 561    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
 562      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
 563        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 564          T.target.hamDensity x j =
 565            cKin * (x.2 j * x.2 j) +
 566              cGrad *
 567                (T.target.structureFunction x j *
 568                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
 569              V (x.1 j)) ∧
 570        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 571          T.target.momDensity x j =
 572            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
 573  HKTRigidityKineticNormalizedN2_holds T.toKineticNormalized
 574
 575/-! ## §6. The load-bearing test -/
 576
 577/-- **Removing field-independence breaks the proof.** The variable-kinetic
 578inhabitant of the kill tower carries the field-dependent weight `1 / (1 + a ^ 2)`
 579on its momentum term, which is exactly a cost weight that looks at the field. It
 580is excluded from the universal class, and the kill theorems in
 581`HKTKineticNormalizedRigidity` show the rigidity statement is false once such an
 582inhabitant is admitted. So field-independence does not merely strengthen the
 583conclusion; dropping it falsifies it. -/
 584theorem vacuumKinetic_not_universalKinetic :
 585    ¬ ∃ T : UniversalKineticCanonicalMom,
 586      T.target = vacuumKineticCanonicalMomTarget := by
 587  rintro ⟨T, hEq⟩
 588  exact vacuumKinetic_not_kineticNormalized ⟨T.toKineticNormalized, hEq⟩
 589
 590/-- The ADM anchor still inhabits the weakened class, so §2 has not emptied it. -/
 591def hamDynUniversalKinetic : UniversalKineticCanonicalMom :=
 592  KineticNormalizedCanonicalMom.toUniversalKinetic hamDynKineticNormalized
 593
 594theorem hamDyn_satisfies_universalKinetic :
 595    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
 596      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
 597        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 598          hamDynUniversalKinetic.target.hamDensity x j =
 599            cKin * (x.2 j * x.2 j) +
 600              cGrad *
 601                (hamDynUniversalKinetic.target.structureFunction x j *
 602                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
 603              V (x.1 j)) ∧
 604        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 605          hamDynUniversalKinetic.target.momDensity x j =
 606            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
 607  HKTRigidityUniversalKineticN2_holds hamDynUniversalKinetic
 608
 609/-! ## §7. Field-independence derived from a recognition primitive
 610
 611**This route does not work, and the section is kept because knowing why is worth
 612more than the theorems are.** It is superseded by §8. The construction: let every
 613pair of neighbouring field values carry its own momentum-sector cost jet in one
 614global chart, with its own log-curvature `c a b`, so that field-independence is
 615absent from the shape; then impose
 616`Cost.FunctionalEquation.IsCalibrated (jetCost (c a b))` at each site, which
 617forces every `c a b` to `1`, hence the disclosed premise with `cKin = κ ^ 2 / 2`.
 618Everything below that sentence is proved, the class is nonempty, and the kill
 619inhabitant is excluded. It still fails, for three reasons, all of them found by a
 620cross-family panel (Opus 5, Grok 4.5, GPT-5.6 Sol, Kimi K3, 2026-07-25) and none
 621of them repaired here.
 622
 623First, `jetCost` is a family this module defines, and
 624`IsCalibrated (jetCost c) ↔ c = 1` is settled by unfolding that definition. A
 625per-site condition whose unique solution is read off a definition is the
 626between-site equality renamed, so the defence that calibration looks at one site
 627while field-independence relates two sites is empty here. It has content only when
 628the uniqueness of the solution is a theorem, which is what §8 arranges.
 629
 630Second, the value is absorbed. `cKin = κ ^ 2 / 2` with `κ` free, so the class of
 631targets with all curvatures equal to `1` in chart `κ` is the class with all
 632curvatures equal to any positive constant `c₀` in chart `κ / sqrt c₀`. The
 633recognition *number* `J''(1) = 1` therefore does no work; only the constancy does.
 634
 635Third, `jetCost c` is not a recognition cost. It fails the Recognition
 636Composition Law for every nonzero `c` (`jetCost_not_rcl`, proved in §8). So this
 637section imposes a normalization on an object the substrate rejects.
 638
 639What survives is the negative result, worth stating because it is general: a
 640recognition condition imposed pointwise carries logical weight only in proportion
 641to the depth of the uniqueness theorem behind it, and a condition whose value the
 642ambient free parameters can absorb carries none at all.
 643-/
 644
 645/-- The multiplicative cost function whose balance jet has log-curvature `c`:
 646in the log-imbalance chart `x = exp t` it is `t ↦ (c / 2) * t ^ 2`. -/
 647def jetCost (c : ℝ) : ℝ → ℝ := fun x => (c / 2) * (Real.log x) ^ 2
 648
 649theorem G_jetCost (c : ℝ) :
 650    Cost.FunctionalEquation.G (jetCost c) = fun t => (c / 2) * t ^ 2 := by
 651  funext t
 652  simp [Cost.FunctionalEquation.G, jetCost, Real.log_exp]
 653
 654private theorem deriv_half_sq (c : ℝ) :
 655    deriv (fun t : ℝ => (c / 2) * t ^ 2) = fun t => c * t := by
 656  funext t
 657  have hsq : HasDerivAt (fun u : ℝ => u ^ 2) (2 * t) t := by
 658    simpa using (hasDerivAt_id t).pow 2
 659  have hmul := hsq.const_mul (c / 2)
 660  rw [show c / 2 * (2 * t) = c * t by ring] at hmul
 661  exact hmul.deriv
 662
 663private theorem deriv_linear_zero (c : ℝ) : deriv (fun t : ℝ => c * t) 0 = c := by
 664  simpa using ((hasDerivAt_id (0 : ℝ)).const_mul c).deriv
 665
 666/-- **Calibration reads off the jet coefficient.** A balance jet is calibrated
 667exactly when its log-curvature is `J''(1) = 1`.
 668
 669Do not read `jetCost c` as a recognition cost. It satisfies no composition law
 670for any nonzero `c` (`jetCost_not_rcl`), and calling it one here would
 671contradict that theorem. It is a one-parameter deformation of the recognition
 672cost's jet, which is a different object. -/
 673theorem isCalibrated_jetCost_iff (c : ℝ) :
 674    Cost.FunctionalEquation.IsCalibrated (jetCost c) ↔ c = 1 := by
 675  unfold Cost.FunctionalEquation.IsCalibrated
 676  rw [G_jetCost, deriv_half_sq, deriv_linear_zero]
 677
 678/-- `jetCost` is not an ad hoc family invented for this section. In the log chart
 679it is `t ↦ (c / 2) * t ^ 2`, and at the recognition curvature `c = J''(1)` that
 680is exactly `JlogQuad`, the balance jet of the actual recognition cost from §5. So
 681`jetCost` is the one-parameter deformation of the recognition cost's own jet, and
 682`isCalibrated_jetCost_iff` says the calibration axiom selects the undeformed
 683member. -/
 684theorem G_jetCost_recogCurvature :
 685    Cost.FunctionalEquation.G (jetCost recogCurvature) = JlogQuad := by
 686  rw [G_jetCost]
 687  funext t
 688  rw [JlogQuad]
 689
 690/-- A local Hamiltonian density whose momentum sector is, at each pair of
 691neighbouring field values, the balance jet of that pair's own cost function,
 692read in one global chart `κ`. The log-curvature `c a b` is free to look at the
 693field: this shape does not assume field-independence. -/
 694def perSiteJetProfile (c : ℝ → ℝ → ℝ) (κ : ℝ) (U : ℝ → ℝ → ℝ) : LocalHamProfile :=
 695  fun a b p => (c a b / 2) * (κ * p) ^ 2 + U a b
 696
 697/-- The calibration clause is a statement about the density, not about the
 698auxiliary family. Read the density in the log-imbalance chart `t = κ p`; the
 699clause holds at a site exactly when the density's curvature there, at balance, is
 700the recognition curvature `J''(1)`. Nothing is hidden in `jetCost`. -/
 701theorem isCalibrated_iff_density_curvature
 702    (c : ℝ → ℝ → ℝ) (κ : ℝ) (U : ℝ → ℝ → ℝ) (hκ : κ ≠ 0) (a b : ℝ) :
 703    Cost.FunctionalEquation.IsCalibrated (jetCost (c a b)) ↔
 704      deriv (deriv (fun t : ℝ => perSiteJetProfile c κ U a b (t / κ))) 0
 705        = recogCurvature := by
 706  have hchart : (fun t : ℝ => perSiteJetProfile c κ U a b (t / κ))
 707      = fun t : ℝ => (c a b / 2) * t ^ 2 + U a b := by
 708    funext t
 709    simp only [perSiteJetProfile]
 710    rw [mul_div_cancel₀ t hκ]
 711  have hshift : deriv (fun t : ℝ => (c a b / 2) * t ^ 2 + U a b)
 712      = deriv (fun t : ℝ => (c a b / 2) * t ^ 2) := by
 713    funext t
 714    exact deriv_add_const (f := fun u : ℝ => (c a b / 2) * u ^ 2) (x := t) (c := U a b)
 715  rw [isCalibrated_jetCost_iff, hchart, hshift, deriv_half_sq, deriv_linear_zero,
 716    recogCurvature_eq_one]
 717
 718/-- A `CanonicalMom` target whose momentum sector is a per-site cost jet in a
 719global chart, with every site's jet *calibrated*. The jets are not recognition
 720costs; see `jetCost_not_rcl` and the section header. -/
 721structure CalibratedJetCanonicalMom where
 722  target : HKTPointSplitTargetDynCanonicalMom
 723  calibrated_jet :
 724    ∃ (h : LocalHamProfile) (S : LocalHamSmooth h) (c : ℝ → ℝ → ℝ) (κ : ℝ)
 725      (U : ℝ → ℝ → ℝ),
 726      ContDiff ℝ 2 (profileMap h) ∧ κ ≠ 0 ∧
 727        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 728          target.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j)) ∧
 729          (∀ a b p : ℝ, h a b p = perSiteJetProfile c κ U a b p) ∧
 730          (∀ a b : ℝ, Cost.FunctionalEquation.IsCalibrated (jetCost (c a b)))
 731
 732/-- **Field-independence, derived.** Calibration forces every site's
 733log-curvature to `1`, so the momentum response is `κ ^ 2 * p` at every pair of
 734field values, which is the disclosed premise with `cKin = κ ^ 2 / 2`. -/
 735theorem calibratedJet_hp_eq_linear
 736    (h : LocalHamProfile) (S : LocalHamSmooth h) (c : ℝ → ℝ → ℝ) (κ : ℝ)
 737    (U : ℝ → ℝ → ℝ)
 738    (hcd : ContDiff ℝ 2 (profileMap h))
 739    (hProf : ∀ a b p : ℝ, h a b p = perSiteJetProfile c κ U a b p)
 740    (hCal : ∀ a b : ℝ, Cost.FunctionalEquation.IsCalibrated (jetCost (c a b)))
 741    (a b p : ℝ) :
 742    S.hp a b p = (2 * (κ ^ 2 / 2)) * p := by
 743  have hc : c a b = 1 := (isCalibrated_jetCost_iff (c a b)).mp (hCal a b)
 744  have hS := hasDerivAt_hp_of_normalized h S hcd a b p
 745  have hfun : (fun t => h a b t) = fun t => (1 / 2 : ℝ) * (κ * t) ^ 2 + U a b := by
 746    funext t
 747    rw [hProf a b t]
 748    simp only [perSiteJetProfile, hc]
 749  rw [hfun] at hS
 750  have hinner : HasDerivAt (fun t : ℝ => κ * t) κ p := by
 751    simpa using (hasDerivAt_id p).const_mul κ
 752  have hsq : HasDerivAt (fun t : ℝ => (κ * t) ^ 2) (2 * (κ * p) * κ) p := by
 753    simpa using hinner.pow 2
 754  have hhalf := hsq.const_mul (1 / 2 : ℝ)
 755  rw [show (1 / 2 : ℝ) * (2 * (κ * p) * κ) = κ ^ 2 * p by ring] at hhalf
 756  rw [hS.unique (hhalf.add_const (U a b))]
 757  ring
 758
 759theorem calibratedJet_cKin_ne_zero {κ : ℝ} (hκ : κ ≠ 0) : κ ^ 2 / 2 ≠ 0 :=
 760  div_ne_zero (pow_ne_zero 2 hκ) (by norm_num)
 761
 762/-- A calibrated-jet target inhabits the kinetic-normalized class, with the
 763coefficient derived from the calibration axiom rather than assumed. -/
 764def CalibratedJetCanonicalMom.toKineticNormalized
 765    (T : CalibratedJetCanonicalMom) : KineticNormalizedCanonicalMom where
 766  target := T.target
 767  kinetic_normalized := by
 768    obtain ⟨h, S, c, κ, U, hcd, hκ, hHam, hProf, hCal⟩ := T.calibrated_jet
 769    exact ⟨h, S, κ ^ 2 / 2, hcd, calibratedJet_cKin_ne_zero hκ, hHam,
 770      calibratedJet_hp_eq_linear h S c κ U hcd hProf hCal⟩
 771
 772/-- Every calibrated-jet target is ADM in shape, with the canonical momentum
 773relation. No field-independence appears anywhere in the hypothesis. -/
 774theorem calibratedJet_ADM_rigidity (T : CalibratedJetCanonicalMom) :
 775    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
 776      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
 777        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 778          T.target.hamDensity x j =
 779            cKin * (x.2 j * x.2 j) +
 780              cGrad *
 781                (T.target.structureFunction x j *
 782                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
 783              V (x.1 j)) ∧
 784        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 785          T.target.momDensity x j =
 786            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
 787  HKTRigidityKineticNormalizedN2_holds T.toKineticNormalized
 788
 789/-- **The class is nonempty, so the rigidity above is not vacuous.** The ADM
 790anchor's momentum sector is literally the calibrated recognition jet in the
 791chart `κ = 1`: `hamDynLocalProfile a b p = (1/2) * p ^ 2 + U a b`, which is
 792`perSiteJetProfile` with every log-curvature equal to the recognition primitive.
 793Nothing is fitted here; the anchor was written before this section existed. -/
 794def hamDynCalibratedJet : CalibratedJetCanonicalMom where
 795  target := hamDynPointSplitTargetCanonicalMom
 796  calibrated_jet := by
 797    refine ⟨hamDynLocalProfile, hamDynLocalSmooth, (fun _ _ => 1), 1,
 798      (fun a b => (1 / 2 : ℝ) * ((1 + a * a) * ((b - a) * (b - a)))),
 799      hamDynLocalProfile_contDiff2, one_ne_zero,
 800      hamDynDensity_eq_localProfile, ?_, ?_⟩
 801    · intro a b p
 802      simp only [hamDynLocalProfile, perSiteJetProfile]
 803      ring
 804    · intro _ _
 805      exact (isCalibrated_jetCost_iff 1).mpr rfl
 806
 807instance : Nonempty CalibratedJetCanonicalMom := ⟨hamDynCalibratedJet⟩
 808
 809theorem hamDyn_satisfies_calibratedJet :
 810    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
 811      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
 812        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 813          hamDynCalibratedJet.target.hamDensity x j =
 814            cKin * (x.2 j * x.2 j) +
 815              cGrad *
 816                (hamDynCalibratedJet.target.structureFunction x j *
 817                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
 818              V (x.1 j)) ∧
 819        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 820          hamDynCalibratedJet.target.momDensity x j =
 821            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
 822  calibratedJet_ADM_rigidity hamDynCalibratedJet
 823
 824/-! ### The removal test
 825
 826The two theorems below are the discrimination. The first says the kill
 827inhabitant has exactly the per-site jet shape, so the shape assumption is not
 828secretly excluding it; the second says its jet at `a = 0` is uncalibrated, so
 829the recognition clause is what excludes it. -/
 830
 831/-- The variable-kinetic kill inhabitant *is* a per-site jet profile: chart
 832`κ = 1`, log-curvatures `c a b = 2 / (1 + a ^ 2)`. So the shape assumed in this
 833section admits it. -/
 834theorem vacuumKineticLocalProfile_eq_perSiteJet :
 835    vacuumKineticLocalProfile
 836      = perSiteJetProfile (fun a _ => 2 * vacuumKineticA a) 1 vacuumKineticW := by
 837  funext a b p
 838  simp only [vacuumKineticLocalProfile, perSiteJetProfile]
 839  ring
 840
 841/-- Its jet at `a = 0` has log-curvature `2`, not `1`, so it is not calibrated.
 842This is the clause that excludes it, and §7's header explains why excluding it
 843this way is worth less than it looks. -/
 844theorem vacuumKinetic_jet_not_calibrated :
 845    ¬ Cost.FunctionalEquation.IsCalibrated (jetCost (2 * vacuumKineticA 0)) := by
 846  rw [isCalibrated_jetCost_iff]
 847  simp only [vacuumKineticA]
 848  norm_num
 849
 850/-- **The kill inhabitant is excluded by the recognition clause.** Together with
 851`not_HKTRigidityModVacuumStatementN2`, which says the rigidity conclusion is
 852false once this inhabitant is admitted, and with
 853`vacuumKineticLocalProfile_eq_perSiteJet`, which says the shape assumption alone
 854does admit it: deleting the calibration clause does not weaken the theorem, it
 855falsifies it. -/
 856theorem vacuumKinetic_not_calibratedJet :
 857    ¬ ∃ T : CalibratedJetCanonicalMom,
 858      T.target = vacuumKineticCanonicalMomTarget := by
 859  rintro ⟨T, hEq⟩
 860  exact vacuumKinetic_not_kineticNormalized ⟨T.toKineticNormalized, hEq⟩
 861
 862/-! ### The same primitive at the exact level
 863
 864The jet argument above uses calibration. At the exact level the composition law
 865does the corresponding job on its own: it admits no free cost weight at all, so
 866a weight that looks at the field is not a recognition cost at any site where it
 867differs from one. This is why §4's exclusion cannot be dodged by rescaling. -/
 868
 869/-- **The recognition composition law admits no free weight.** If `w * J`
 870satisfies the RCL then `w` is `0` or `1`. A single instance, `x = y = 2`,
 871already forces it. -/
 872theorem compositionLaw_forces_unit_weight (w : ℝ)
 873    (hComp : Cost.FunctionalEquation.SatisfiesCompositionLaw
 874      (fun x => w * Cost.Jcost x)) :
 875    w = 0 ∨ w = 1 := by
 876  have h := hComp 2 2 (by norm_num) (by norm_num)
 877  have e4 : Cost.Jcost (2 * 2) = 9 / 8 := by norm_num [Cost.Jcost]
 878  have e1 : Cost.Jcost (2 / 2) = 0 := by norm_num [Cost.Jcost]
 879  have e2 : Cost.Jcost 2 = 1 / 4 := by norm_num [Cost.Jcost]
 880  simp only [e4, e1, e2] at h
 881  have hquad : w * (w - 1) = 0 := by nlinarith [h]
 882  rcases mul_eq_zero.mp hquad with h0 | h1
 883  · exact Or.inl h0
 884  · exact Or.inr (by linarith)
 885
 886/-- A field-dependent cost weight is not a family of recognition costs unless it
 887is constantly one. -/
 888theorem rcl_forces_field_independent_weight (W : ℝ → ℝ → ℝ)
 889    (hComp : ∀ a b : ℝ, Cost.FunctionalEquation.SatisfiesCompositionLaw
 890      (fun x => W a b * Cost.Jcost x))
 891    (hne : ∀ a b : ℝ, W a b ≠ 0) (a b : ℝ) : W a b = 1 :=
 892  (compositionLaw_forces_unit_weight (W a b) (hComp a b)).resolve_left (hne a b)
 893
 894/-! ## §8. The exact recognition cost, in the chart where it is quadratic
 895
 896§4 excluded the exact cost. That exclusion is real but narrower than its old
 897name: it excludes the *linear* chart `t = κ p`, in which the response is `sinh`
 898and cannot be linear. The chart is not forced, and there is one in which the
 899exact cost is quadratic on the nose. The recognition cost has the half-imbalance
 900form `J (exp t) = 2 * sinh (t / 2) ^ 2`, so identify the momentum with the
 901half-imbalance *sine* rather than with the imbalance itself,
 902`sinh (t / 2) = λ p`, equivalently `t = 2 * arsinh (λ p)`. Then
 903
 904    J (exp (2 * arsinh (λ p))) = 2 * λ ^ 2 * p ^ 2
 905
 906exactly, with no truncation and no jet (`Jlog_two_arsinh`). The exact recognition
 907cost inhabits the undeformed `CanonicalMom` algebra, §5's concession that only the
 908balance jet survives was an artifact of the linear chart, and open item 2 of this
 909module, the deformed algebra, is not needed for this purpose.
 910
 911That removes the truncation but not the field dependence, since the cost weight
 912`W a b` is still free. Here the load is carried by the Recognition Composition
 913Law, and carried as a theorem rather than as a definition: `w * J` satisfies the
 914law only for `w` in `{0, 1}` (`compositionLaw_forces_unit_weight`), because a
 915rescaled recognition cost is not a recognition cost. Imposing the law site by
 916site therefore forces unit weight at every site, which is field-independence, and
 917it forces the sign, so `cKin = 2 * λ ^ 2 > 0`.
 918
 919Why this is not §7 again. §7's clause was calibration of a family this module
 920itself defined; its unique solution is read off by unfolding a definition, its
 921value is absorbed by the free chart, and `jetCost_not_rcl` proves the family was
 922not a recognition cost at all. §8's clause is a nonlinear functional equation on
 923the repo's own `Cost.Jcost`, its unique solution is a theorem, and the
 924countermodel is exact rather than illustrative: delete the clause, take chart
 925`λ = 1/2` and weights `W a = 2 / (1 + a ^ 2)`, and the profile *is* the kill
 926inhabitant (`vacuumKineticLocalProfile_eq_exactCost`), which
 927`not_HKTRigidityModVacuumStatementN2` refutes. The exclusion is also proved
 928directly from the clause rather than routed through the older one
 929(`no_rcl_presentation_of_vacuumKinetic`).
 930
 931What remains assumed is the whole of what remains: the chart is one global
 932constant `λ`. A site-dependent `λ a b` reproduces the kill inhabitant at unit
 933weight, so the momentum-channel identification is not discharged, and `λ` is
 934unfixed, so `cKin = 2 λ ^ 2` is a positivity statement and not a number.
 935Recognition supplies two facts the algebra does not: the cost weight cannot vary
 936from site to site, and it cannot be negative. It does not supply the magnitude.
 937-/
 938
 939/-- **The recognition cost is exactly quadratic in the half-imbalance sine.**
 940`J (exp t) = 2 * sinh (t / 2) ^ 2`, so at `t = 2 * arsinh u` the cost is `2 u ^ 2`
 941with no truncation. This is the identity that repairs §4's chart. -/
 942theorem Jlog_two_arsinh (u : ℝ) : Cost.Jlog (2 * Real.arsinh u) = 2 * u ^ 2 := by
 943  have hbase := Real.cosh_sq_sub_sinh_sq (Real.arsinh u)
 944  rw [Real.sinh_arsinh] at hbase
 945  rw [Cost.Jlog_as_cosh, Real.cosh_two_mul, Real.sinh_arsinh]
 946  linarith
 947
 948/-- A density posting the *exact* recognition cost of the momentum channel, read
 949in the half-imbalance-sine chart, with a per-site cost weight `W a b` that is
 950free to look at the field. -/
 951def exactCostKineticProfile (W : ℝ → ℝ → ℝ) (lam : ℝ) (U : ℝ → ℝ → ℝ) :
 952    LocalHamProfile :=
 953  fun a b p => W a b * Cost.Jlog (2 * Real.arsinh (lam * p)) + U a b
 954
 955theorem exactCostKineticProfile_quadratic
 956    (W : ℝ → ℝ → ℝ) (lam : ℝ) (U : ℝ → ℝ → ℝ) (a b p : ℝ) :
 957    exactCostKineticProfile W lam U a b p
 958      = W a b * (2 * (lam * p) ^ 2) + U a b := by
 959  rw [exactCostKineticProfile, Jlog_two_arsinh]
 960
 961/-- A `CanonicalMom` target posting the exact recognition cost of the momentum
 962channel, with every site's cost weight required to satisfy the Recognition
 963Composition Law. Field-independence is absent from the hypothesis. -/
 964structure RCLKineticCanonicalMom where
 965  target : HKTPointSplitTargetDynCanonicalMom
 966  rcl_kinetic :
 967    ∃ (h : LocalHamProfile) (S : LocalHamSmooth h) (W : ℝ → ℝ → ℝ) (lam : ℝ)
 968      (U : ℝ → ℝ → ℝ),
 969      ContDiff ℝ 2 (profileMap h) ∧ lam ≠ 0 ∧ (∀ a b : ℝ, W a b ≠ 0) ∧
 970        (∀ (x : PhaseSpace 2) (j : ZMod 2),
 971          target.hamDensity x j = h (x.1 j) (x.1 (j + 1)) (x.2 j)) ∧
 972          (∀ a b p : ℝ, h a b p = exactCostKineticProfile W lam U a b p) ∧
 973          (∀ a b : ℝ, Cost.FunctionalEquation.SatisfiesCompositionLaw
 974            (fun x => W a b * Cost.Jcost x))
 975
 976/-- **Field-independence, derived from the composition law.** The law forces unit
 977weight at every site, so the momentum response is `4 λ ^ 2 p` everywhere, which is
 978the disclosed premise with `cKin = 2 λ ^ 2`. -/
 979theorem rclKinetic_hp_eq_linear
 980    (h : LocalHamProfile) (S : LocalHamSmooth h) (W : ℝ → ℝ → ℝ) (lam : ℝ)
 981    (U : ℝ → ℝ → ℝ)
 982    (hcd : ContDiff ℝ 2 (profileMap h))
 983    (hW : ∀ a b : ℝ, W a b ≠ 0)
 984    (hProf : ∀ a b p : ℝ, h a b p = exactCostKineticProfile W lam U a b p)
 985    (hRCL : ∀ a b : ℝ, Cost.FunctionalEquation.SatisfiesCompositionLaw
 986      (fun x => W a b * Cost.Jcost x))
 987    (a b p : ℝ) :
 988    S.hp a b p = (2 * (2 * lam ^ 2)) * p := by
 989  have hw : W a b = 1 := rcl_forces_field_independent_weight W hRCL hW a b
 990  have hS := hasDerivAt_hp_of_normalized h S hcd a b p
 991  have hfun : (fun t => h a b t) = fun t => 2 * (lam * t) ^ 2 + U a b := by
 992    funext t
 993    rw [hProf a b t, exactCostKineticProfile_quadratic, hw, one_mul]
 994  rw [hfun] at hS
 995  have hinner : HasDerivAt (fun t : ℝ => lam * t) lam p := by
 996    simpa using (hasDerivAt_id p).const_mul lam
 997  have hsq : HasDerivAt (fun t : ℝ => (lam * t) ^ 2) (2 * (lam * p) * lam) p := by
 998    simpa using hinner.pow 2
 999  have htwo := hsq.const_mul (2 : ℝ)
1000  rw [show (2 : ℝ) * (2 * (lam * p) * lam) = (2 * (2 * lam ^ 2)) * p by ring] at htwo
1001  exact hS.unique (htwo.add_const (U a b))
1002
1003/-- **Recognition fixes the sign.** The composition law admits no negative
1004weight, and the chart contributes a square, so the kinetic coefficient is
1005strictly positive. -/
1006theorem rclKinetic_cKin_pos {lam : ℝ} (hlam : lam ≠ 0) : 0 < 2 * lam ^ 2 := by
1007  have h1 : 0 < lam ^ 2 := by
1008    rcases hlam.lt_or_gt with h | h <;> nlinarith
1009  linarith
1010
1011theorem rclKinetic_cKin_ne_zero {lam : ℝ} (hlam : lam ≠ 0) : 2 * lam ^ 2 ≠ 0 :=
1012  ne_of_gt (rclKinetic_cKin_pos hlam)
1013
1014def RCLKineticCanonicalMom.toKineticNormalized
1015    (T : RCLKineticCanonicalMom) : KineticNormalizedCanonicalMom where
1016  target := T.target
1017  kinetic_normalized := by
1018    obtain ⟨h, S, W, lam, U, hcd, hlam, hW, hHam, hProf, hRCL⟩ := T.rcl_kinetic
1019    exact ⟨h, S, 2 * lam ^ 2, hcd, rclKinetic_cKin_ne_zero hlam, hHam,
1020      rclKinetic_hp_eq_linear h S W lam U hcd hW hProf hRCL⟩
1021
1022/-- Full ADM rigidity for targets posting the exact recognition cost. -/
1023theorem rclKinetic_ADM_rigidity (T : RCLKineticCanonicalMom) :
1024    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
1025      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
1026        (∀ (x : PhaseSpace 2) (j : ZMod 2),
1027          T.target.hamDensity x j =
1028            cKin * (x.2 j * x.2 j) +
1029              cGrad *
1030                (T.target.structureFunction x j *
1031                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
1032              V (x.1 j)) ∧
1033        (∀ (x : PhaseSpace 2) (j : ZMod 2),
1034          T.target.momDensity x j =
1035            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
1036  HKTRigidityKineticNormalizedN2_holds T.toKineticNormalized
1037
1038/-- The kinetic coefficient of any target in the class is strictly positive, so
1039recognition rules out the wrong-sign kinetic term as well as the field-dependent
1040one. -/
1041theorem rclKinetic_positive_kinetic_coefficient (T : RCLKineticCanonicalMom) :
1042    ∃ cKin : ℝ, 0 < cKin ∧
1043      ∃ (h : LocalHamProfile) (S : LocalHamSmooth h),
1044        ∀ a b p : ℝ, S.hp a b p = (2 * cKin) * p := by
1045  obtain ⟨h, S, W, lam, U, hcd, hlam, hW, hHam, hProf, hRCL⟩ := T.rcl_kinetic
1046  exact ⟨2 * lam ^ 2, rclKinetic_cKin_pos hlam, h, S,
1047    rclKinetic_hp_eq_linear h S W lam U hcd hW hProf hRCL⟩
1048
1049/-- **The class is nonempty.** The ADM anchor posts the exact recognition cost at
1050unit weight in the chart `λ = 1/2`, and its composition-law clause is the repo's
1051own theorem that `J` satisfies the law.
1052
1053`λ = 1/2` **is** a fit, and an earlier version of this docstring claimed the
1054opposite. The chart constant is free, `cKin = 2 λ²`, and the value `1/2` was
1055chosen because it is what reproduces the anchor's coefficient. What is not
1056fitted is the weight, which the composition law forces to one, and the sign,
1057which `rclKinetic_cKin_pos` forces positive. The magnitude is open; see the
1058module header. -/
1059def hamDynRCLKinetic : RCLKineticCanonicalMom where
1060  target := hamDynPointSplitTargetCanonicalMom
1061  rcl_kinetic := by
1062    refine ⟨hamDynLocalProfile, hamDynLocalSmooth, (fun _ _ => 1), (1 / 2 : ℝ),
1063      (fun a b => (1 / 2 : ℝ) * ((1 + a * a) * ((b - a) * (b - a)))),
1064      hamDynLocalProfile_contDiff2, by norm_num, (fun _ _ => one_ne_zero),
1065      hamDynDensity_eq_localProfile, ?_, ?_⟩
1066    · intro a b p
1067      rw [exactCostKineticProfile_quadratic]
1068      simp only [hamDynLocalProfile]
1069      ring
1070    · intro _ _
1071      simpa only [one_mul] using
1072        Cost.SymplecticAction.jcost_satisfiesCompositionLaw_via_symplectic
1073
1074instance : Nonempty RCLKineticCanonicalMom := ⟨hamDynRCLKinetic⟩
1075
1076theorem hamDyn_satisfies_rclKinetic :
1077    ∃ cKin cGrad cMom : ℝ, ∃ V : ℝ → ℝ,
1078      cKin ≠ 0 ∧ cGrad ≠ 0 ∧ cMom = 4 * cKin * cGrad ∧
1079        (∀ (x : PhaseSpace 2) (j : ZMod 2),
1080          hamDynRCLKinetic.target.hamDensity x j =
1081            cKin * (x.2 j * x.2 j) +
1082              cGrad *
1083                (hamDynRCLKinetic.target.structureFunction x j *
1084                  ((x.1 (j + 1) - x.1 j) * (x.1 (j + 1) - x.1 j))) +
1085              V (x.1 j)) ∧
1086        (∀ (x : PhaseSpace 2) (j : ZMod 2),
1087          hamDynRCLKinetic.target.momDensity x j =
1088            cMom * x.2 (j + 1) * (x.1 (j + 1) - x.1 j)) :=
1089  rclKinetic_ADM_rigidity hamDynRCLKinetic
1090
1091/-! ### The removal test, exact this time -/
1092
1093/-- **Deleting the composition-law clause readmits the kill inhabitant exactly.**
1094At chart `λ = 1/2` with weights `W a b = 2 / (1 + a ^ 2)`, the exact-cost profile
1095*is* `vacuumKineticLocalProfile`. Nothing is approximated and nothing is
1096illustrative: the shape without the clause contains the very target that
1097`not_HKTRigidityModVacuumStatementN2` uses to refute rigidity. -/
1098theorem vacuumKineticLocalProfile_eq_exactCost :
1099    vacuumKineticLocalProfile
1100      = exactCostKineticProfile (fun a _ => 2 * vacuumKineticA a) (1 / 2)
1101          vacuumKineticW := by
1102  funext a b p
1103  rw [exactCostKineticProfile_quadratic]
1104  simp only [vacuumKineticLocalProfile]
1105  ring
1106
1107/-- Those weights are not recognition costs: at `a = 0` the weight is `2`, and
1108the composition law admits only `0` and `1`. -/
1109theorem vacuumKinetic_weight_not_rcl :
1110    ¬ Cost.FunctionalEquation.SatisfiesCompositionLaw
1111      (fun x => (2 * vacuumKineticA 0) * Cost.Jcost x) := by
1112  intro hComp
1113  rcases compositionLaw_forces_unit_weight _ hComp with h | h <;>
1114    · rw [show vacuumKineticA 0 = 1 by simp [vacuumKineticA]] at h
1115      norm_num at h
1116
1117/-- **Direct exclusion, consuming the clause.** No composition-law-certified
1118presentation of the kill inhabitant's profile exists, in any chart. This does not
1119route through the older kinetic-normalization exclusion: the law forces unit
1120weight, and then two field values disagree about the coefficient. -/
1121theorem no_rcl_presentation_of_vacuumKinetic
1122    (W : ℝ → ℝ → ℝ) (lam : ℝ) (U : ℝ → ℝ → ℝ)
1123    (hW : ∀ a b : ℝ, W a b ≠ 0)
1124    (hRCL : ∀ a b : ℝ, Cost.FunctionalEquation.SatisfiesCompositionLaw
1125      (fun x => W a b * Cost.Jcost x)) :
1126    vacuumKineticLocalProfile ≠ exactCostKineticProfile W lam U := by
1127  intro hEq
1128  have hval : ∀ a b p : ℝ,
1129      vacuumKineticA a * (p * p) + vacuumKineticW a b
1130        = 2 * (lam * p) ^ 2 + U a b := by
1131    intro a b p
1132    have h := congrFun (congrFun (congrFun hEq a) b) p
1133    rw [exactCostKineticProfile_quadratic,
1134      rcl_forces_field_independent_weight W hRCL hW a b, one_mul] at h
1135    exact h
1136  have hU : ∀ a b : ℝ, vacuumKineticW a b = U a b := by
1137    intro a b
1138    have h := hval a b 0
1139    nlinarith [h]
1140  have hA : ∀ a : ℝ, vacuumKineticA a = 2 * lam ^ 2 := by
1141    intro a
1142    have h := hval a 0 1
1143    have hu := hU a 0
1144    nlinarith [h, hu]
1145  have h0 := hA 0
1146  have h1 := hA 1
1147  rw [show vacuumKineticA 0 = 1 by simp [vacuumKineticA]] at h0
1148  rw [show vacuumKineticA 1 = 1 / 2 by norm_num [vacuumKineticA]] at h1
1149  linarith
1150
1151/-- **§7's family was not a recognition cost.** For every nonzero curvature the
1152jet family violates the composition law, the residual being
1153`-(c ^ 2 / 2) * (log x) ^ 2 * (log y) ^ 2`; at `x = y = e` the two sides are
1154`2 * c` and `c ^ 2 / 2 + 2 * c`. Calibration alone does not make an object a
1155recognition cost, which is the second reason §7 does not carry the load and §8
1156imposes the law itself. -/
1157theorem jetCost_not_rcl (c : ℝ) (hc : c ≠ 0) :
1158    ¬ Cost.FunctionalEquation.SatisfiesCompositionLaw (jetCost c) := by
1159  intro hComp
1160  have h := hComp (Real.exp 1) (Real.exp 1) (Real.exp_pos 1) (Real.exp_pos 1)
1161  have hmul : Real.exp 1 * Real.exp 1 = Real.exp 2 := by
1162    rw [← Real.exp_add]; norm_num
1163  have hdiv : Real.exp 1 / Real.exp 1 = 1 := div_self (Real.exp_ne_zero 1)
1164  rw [hmul, hdiv] at h
1165  simp only [jetCost, Real.log_exp, Real.log_one] at h
1166  have hc2 : c * c = 0 := by nlinarith [h]
1167  rcases mul_eq_zero.mp hc2 with h' | h' <;> exact hc h'
1168
1169/-! ## §9. Axiom audit -/
1170
1171#print axioms exists_structure_value_ne_zero
1172#print axioms kinetic_normalization_of_universal_response
1173#print axioms kinetic_coefficient_unique
1174#print axioms HKTRigidityUniversalKineticN2_holds
1175#print axioms universal_of_channelSeparated
1176#print axioms channelSeparated_of_universal
1177#print axioms costKinetic_hp_eq_sinh
1178#print axioms costKinetic_universal
1179#print axioms sinh_not_linear
1180#print axioms no_exact_cost_kinetic_canonicalMom
1181#print axioms recogCurvature_eq_one
1182#print axioms deriv2_Jlog_zero_eq_recogCurvature
1183#print axioms JlogQuad_matches_Jlog_to_second_order
1184#print axioms quadCost_hp_eq_linear
1185#print axioms quadCost_ADM_rigidity
1186#print axioms vacuumKinetic_not_universalKinetic
1187#print axioms hamDyn_satisfies_universalKinetic
1188#print axioms isCalibrated_jetCost_iff
1189#print axioms G_jetCost_recogCurvature
1190#print axioms isCalibrated_iff_density_curvature
1191#print axioms calibratedJet_hp_eq_linear
1192#print axioms calibratedJet_ADM_rigidity
1193#print axioms hamDyn_satisfies_calibratedJet
1194#print axioms vacuumKineticLocalProfile_eq_perSiteJet
1195#print axioms vacuumKinetic_jet_not_calibrated
1196#print axioms vacuumKinetic_not_calibratedJet
1197#print axioms compositionLaw_forces_unit_weight
1198#print axioms rcl_forces_field_independent_weight
1199#print axioms Jlog_two_arsinh
1200#print axioms exactCostKineticProfile_quadratic
1201#print axioms rclKinetic_hp_eq_linear
1202#print axioms rclKinetic_cKin_pos
1203#print axioms rclKinetic_ADM_rigidity
1204#print axioms rclKinetic_positive_kinetic_coefficient
1205#print axioms hamDyn_satisfies_rclKinetic
1206#print axioms vacuumKineticLocalProfile_eq_exactCost
1207#print axioms vacuumKinetic_weight_not_rcl
1208#print axioms no_rcl_presentation_of_vacuumKinetic
1209#print axioms jetCost_not_rcl
1210
1211end
1212
1213end HKTKineticFromRecognitionCost
1214end SevenGaps
1215end Gravity
1216end IndisputableMonolith
1217

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