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

G_zero_of_unit

proved
show as:
view math explainer →
module
IndisputableMonolith.Cost.FunctionalEquation
domain
Cost
line
51 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Cost.FunctionalEquation on GitHub at line 51.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  48  have hrec : Real.exp (-t) = (Real.exp t)⁻¹ := by simp [Real.exp_neg]
  49  simp [G, hrec, hSymm hpos]
  50
  51lemma G_zero_of_unit (F : ℝ → ℝ) (hUnit : F 1 = 0) : G F 0 = 0 := by
  52  simpa [G] using hUnit
  53
  54theorem Jcost_G_eq_cosh_sub_one (t : ℝ) : G Cost.Jcost t = Real.cosh t - 1 := by
  55  simp only [G, Jcost]
  56  -- Jcost(exp t) = (exp t + exp(-t))/2 - 1 = cosh t - 1
  57  have h1 : (Real.exp t)⁻¹ = Real.exp (-t) := by simp [Real.exp_neg]
  58  rw [h1, Real.cosh_eq]
  59
  60theorem Jcost_cosh_add_identity : CoshAddIdentity Cost.Jcost := by
  61  intro t u
  62  simp only [G, Jcost]
  63  -- Use exp(t+u) = exp(t)*exp(u) and exp(t-u) = exp(t)/exp(u)
  64  have he1 : Real.exp (t + u) = Real.exp t * Real.exp u := Real.exp_add t u
  65  have he2 : Real.exp (t - u) = Real.exp t / Real.exp u := by
  66    rw [sub_eq_add_neg, Real.exp_add, Real.exp_neg]
  67    ring
  68  have hpos_t : Real.exp t > 0 := Real.exp_pos t
  69  have hpos_u : Real.exp u > 0 := Real.exp_pos u
  70  have hne_t : Real.exp t ≠ 0 := hpos_t.ne'
  71  have hne_u : Real.exp u ≠ 0 := hpos_u.ne'
  72  rw [he1, he2]
  73  field_simp
  74  ring
  75
  76theorem even_deriv_at_zero (H : ℝ → ℝ)
  77  (h_even : Function.Even H) (h_diff : DifferentiableAt ℝ H 0) : deriv H 0 = 0 := by
  78  -- For even functions, the derivative at 0 is 0
  79  let negFun : ℝ → ℝ := fun x => -x
  80  have h1 : deriv H 0 = deriv (H ∘ negFun) 0 := by
  81    congr 1