pith. machine review for the scientific record. sign in
theorem proved tactic proof

alpha_lt_0_1

show as:
view Lean formalization →

No prose has been written for this declaration yet. The Lean source and graph data below render without it.

generate prose now

formal statement (Lean)

  39theorem alpha_lt_0_1 : alpha < (0.1 : ℝ) := by

proof body

Tactic-mode proof.

  40  -- Use alphaInv > 10 from structural bound
  41  -- alphaInv ≥ alpha_seed - f_gap > 132 - 5 = 127 > 10
  42  have h_seed_pos : alpha_seed > 0 := by unfold alpha_seed; positivity
  43  have h_seed_big : alpha_seed > 132 := by unfold alpha_seed; nlinarith [Real.pi_gt_three]
  44  have h_exp_ge : Real.exp (-(f_gap / alpha_seed)) ≥ 1 - f_gap / alpha_seed := by
  45    have := Real.add_one_le_exp (-(f_gap / alpha_seed)); linarith
  46  -- f_gap < 5 < alpha_seed - 10 (since alpha_seed > 132)
  47  have h_fgap_small : f_gap < alpha_seed - 10 := by
  48    -- Same structure as in RegistryPredictionsProved
  49    -- w8 < 5 and log(phi) < 1, so f_gap < 5 < 122 < alpha_seed - 10
  50    have h_w8_pos : 0 < w8_from_eight_tick := w8_pos
  51    have h_log_lt1 : Real.log phi < 1 := by
  52      rw [← Real.log_exp 1]
  53      apply Real.log_lt_log phi_pos
  54      linarith [Real.add_one_le_exp (1 : ℝ), phi_lt_onePointSixTwo]
  55    have h_fgap_lt_w8 : f_gap < w8_from_eight_tick := by
  56      unfold f_gap
  57      calc w8_from_eight_tick * Real.log phi
  58          < w8_from_eight_tick * 1 := mul_lt_mul_of_pos_left h_log_lt1 h_w8_pos
  59        _ = w8_from_eight_tick := mul_one _
  60    have h_sqrt2_lo : Real.sqrt 2 > 1.4 := by
  61      rw [show (1.4:ℝ) = Real.sqrt (1.4^2) from (Real.sqrt_sq (by norm_num : (0:ℝ) ≤ 1.4)).symm]
  62      exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
  63    have h_sqrt2_hi : Real.sqrt 2 < 1.42 := by
  64      rw [show (1.42:ℝ) = Real.sqrt (1.42^2) from (Real.sqrt_sq (by norm_num : (0:ℝ) ≤ 1.42)).symm]
  65      exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
  66    have h_phi_lo : phi > 1.618 := by
  67      unfold phi
  68      have h5 : Real.sqrt 5 > 2.236 := by
  69        rw [show (2.236:ℝ) = Real.sqrt (2.236^2) from (Real.sqrt_sq (by norm_num : (0:ℝ) ≤ 2.236)).symm]
  70        exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
  71      linarith
  72    have h_w8_lt5 : w8_from_eight_tick < 5 := by
  73      unfold w8_from_eight_tick
  74      nlinarith [h_sqrt2_lo, h_sqrt2_hi, h_phi_lo, sq_nonneg (Real.sqrt 2),
  75                 mul_pos (show Real.sqrt 2 > 0 by positivity) (show phi > 0 from phi_pos)]
  76    calc f_gap < w8_from_eight_tick := h_fgap_lt_w8
  77      _ < 5 := h_w8_lt5
  78      _ < alpha_seed - 10 := by linarith
  79  -- alphaInv > 10
  80  have h1 : alphaInv > 10 := by
  81    calc alphaInv = alpha_seed * Real.exp (-(f_gap / alpha_seed)) := rfl
  82      _ ≥ alpha_seed * (1 - f_gap / alpha_seed) :=
  83          mul_le_mul_of_nonneg_left h_exp_ge (le_of_lt h_seed_pos)
  84      _ = alpha_seed - f_gap := by have h := ne_of_gt h_seed_pos; field_simp
  85      _ > 10 := by linarith
  86  -- alpha = 1/alphaInv < 1/10 = 0.1
  87  have h2 : alpha = 1 / alphaInv := by unfold alpha; field_simp
  88  have h_alphaInv_pos : alphaInv > 0 := by unfold alphaInv alpha_seed; positivity
  89  rw [h2]
  90  apply (div_lt_iff₀ h_alphaInv_pos).mpr
  91  nlinarith
  92
  93/-- **BOUNDS**: 0 < α < 0.1 -/

used by (2)

From the project-wide theorem graph. These declarations reference this one in their body.

depends on (15)

Lean names referenced from this declaration's body.