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

scale_perturbed_pos

proved
show as:
view math explainer →
module
IndisputableMonolith.Foundation.HierarchyForcing
domain
Foundation
line
48 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Foundation.HierarchyForcing on GitHub at line 48.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

formal source

  45  if k ≤ j then levels k else levels k * Real.exp t
  46
  47/-- Every perturbed level is positive. -/
  48theorem scale_perturbed_pos (levels : ℕ → ℝ) (j : ℕ)
  49    (h_pos : ∀ k, 0 < levels k) (t : ℝ) (k : ℕ) :
  50    0 < ScalePerturbed levels j t k := by
  51  unfold ScalePerturbed
  52  split
  53  · exact h_pos k
  54  · exact mul_pos (h_pos k) (Real.exp_pos t)
  55
  56/-- The perturbation fixes all levels at or below position `j`. -/
  57theorem scale_perturbed_low (levels : ℕ → ℝ) (j : ℕ) (t : ℝ)
  58    (k : ℕ) (hk : k ≤ j) :
  59    ScalePerturbed levels j t k = levels k := by
  60  unfold ScalePerturbed; rw [if_pos hk]
  61
  62/-- Different perturbation parameters give different level sequences.
  63The key step: at position `j + 1` the values are `levels(j+1) · exp(t)`,
  64and `exp` is injective. -/
  65theorem scale_perturbed_family_injective (levels : ℕ → ℝ) (j : ℕ)
  66    (h_pos : 0 < levels (j + 1)) :
  67    Function.Injective (ScalePerturbed levels j) := by
  68  intro t₁ t₂ h
  69  have h_eval := congr_fun h (j + 1)
  70  unfold ScalePerturbed at h_eval
  71  rw [if_neg (by omega : ¬(j + 1 ≤ j)), if_neg (by omega : ¬(j + 1 ≤ j))] at h_eval
  72  have h_ne : levels (j + 1) ≠ 0 := ne_of_gt h_pos
  73  exact Real.exp_injective (mul_left_cancel₀ h_ne h_eval)
  74
  75/-! ## Uniform Scaling Forced -/
  76
  77/-- Multilevel composition with at least three levels. -/
  78structure NontrivialMultilevelComposition where