theorem
proved
releaseRate_pos
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Engineering.MarsAtmosphereJCostSchedule on GitHub at line 46.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
43theorem releaseRate_zero : releaseRate 0 = r_0 := by
44 unfold releaseRate; simp
45
46theorem releaseRate_pos (n : ℕ) : 0 < releaseRate n := by
47 unfold releaseRate r_0
48 exact mul_pos one_pos (pow_pos phi_pos _)
49
50theorem releaseRate_strict_mono {n m : ℕ} (h : n < m) :
51 releaseRate n < releaseRate m := by
52 unfold releaseRate r_0
53 simp only [one_mul]
54 exact pow_lt_pow_right₀ one_lt_phi h
55
56theorem releaseRate_succ (n : ℕ) :
57 releaseRate (n + 1) = releaseRate n * phi := by
58 unfold releaseRate
59 rw [pow_succ]; ring
60
61/-! ## §2. Cumulative release -/
62
63/-- Cumulative CO₂ released over `n` rungs (geometric partial sum). -/
64def cumulativeRelease (n : ℕ) : ℝ :=
65 (Finset.range n).sum (fun k => releaseRate k)
66
67theorem cumulativeRelease_zero : cumulativeRelease 0 = 0 := by
68 unfold cumulativeRelease; simp
69
70theorem cumulativeRelease_succ (n : ℕ) :
71 cumulativeRelease (n + 1) = cumulativeRelease n + releaseRate n := by
72 unfold cumulativeRelease
73 rw [Finset.sum_range_succ]
74
75theorem cumulativeRelease_nonneg (n : ℕ) : 0 ≤ cumulativeRelease n := by
76 unfold cumulativeRelease