pith. machine review for the scientific record. sign in
structure

RealizedClosedScaleModel

definition
show as:
view math explainer →
module
IndisputableMonolith.Foundation.HierarchyRealizationFromScale
domain
Foundation
line
33 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.HierarchyRealizationFromScale on GitHub at line 33.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  30
  31/-- A `ClosedObservableFramework` orbit that realizes an earlier closed
  32geometric scale sequence. -/
  33structure RealizedClosedScaleModel (F : ClosedObservableFramework) where
  34  baseState : F.S
  35  amplitude : ℝ
  36  amplitude_pos : 0 < amplitude
  37  scales : GeometricScaleSequence
  38  scales_closed : scales.isClosed
  39  growth : 1 < scales.ratio
  40  realize : ∀ k, F.r (F.T^[k] baseState) = amplitude * scales.scale k
  41
  42/-- In any geometric scale sequence, each adjacent ratio equals the
  43base ratio. -/
  44theorem scale_step_ratio (S : GeometricScaleSequence) (k : ℕ) :
  45    S.scale (k + 1) / S.scale k = S.ratio := by
  46  unfold GeometricScaleSequence.scale
  47  rw [pow_succ]
  48  have hr : S.ratio ≠ 0 := ne_of_gt S.ratio_pos
  49  have hk : S.ratio ^ k ≠ 0 := pow_ne_zero k hr
  50  simpa using (mul_div_cancel_left₀ S.ratio hk)
  51
  52/-- The realized orbit has constant adjacent ratio. -/
  53theorem realized_closed_scale_ratio_step
  54    (F : ClosedObservableFramework) (H : RealizedClosedScaleModel F) (k : ℕ) :
  55    F.r (F.T^[k + 1] H.baseState) / F.r (F.T^[k] H.baseState) = H.scales.ratio := by
  56  rw [H.realize (k + 1), H.realize k]
  57  have ha : H.amplitude ≠ 0 := ne_of_gt H.amplitude_pos
  58  calc
  59    H.amplitude * H.scales.scale (k + 1) / (H.amplitude * H.scales.scale k)
  60      = H.scales.scale (k + 1) / H.scales.scale k := by
  61          rw [mul_div_mul_left _ _ ha]
  62    _ = H.scales.ratio := scale_step_ratio H.scales k
  63