Pith. sign in

IndisputableMonolith.Verification.JlogNonnegCert

IndisputableMonolith/Verification/JlogNonnegCert.lean · 54 lines · 1 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Cost
   3
   4/-!
   5# Jlog Non-Negativity Certificate
   6
   7This audit certificate packages the **non-negativity** property of the log-domain cost:
   8
   9\[
  10  \forall t \in \mathbb{R}, \quad J_{\log}(t) \geq 0
  11\]
  12
  13## Why this matters for the certificate chain
  14
  15Combined with `JlogZeroCert` (Jlog(t) = 0 ⟺ t = 0), this theorem proves that:
  16
  171. **Jlog ≥ 0 everywhere**: The log-domain cost is never negative
  182. **Jlog(0) = 0 is the global minimum**: Since Jlog ≥ 0 and Jlog(0) = 0
  19
  20This establishes that t = 0 (equivalently x = 1 in the original domain) is the
  21unique global minimizer of the cost function, with minimum value 0.
  22
  23## Proof approach
  24
  25From Jlog(t) = Jcost(exp(t)) = (exp(t) - 1)² / (2·exp(t)):
  26- Numerator (exp(t) - 1)² ≥ 0 (always non-negative)
  27- Denominator 2·exp(t) > 0 (always positive)
  28- Therefore Jlog(t) ≥ 0
  29-/
  30
  31namespace IndisputableMonolith
  32namespace Verification
  33namespace JlogNonneg
  34
  35open IndisputableMonolith.Cost
  36
  37structure JlogNonnegCert where
  38  deriving Repr
  39
  40/-- Verification predicate: Jlog(t) ≥ 0 for all t.
  41
  42This certifies the non-negativity of the log-domain cost function. -/
  43@[simp] def JlogNonnegCert.verified (_c : JlogNonnegCert) : Prop :=
  44  ∀ t : ℝ, 0 ≤ Jlog t
  45
  46@[simp] theorem JlogNonnegCert.verified_any (c : JlogNonnegCert) :
  47    JlogNonnegCert.verified c := by
  48  intro t
  49  exact Jlog_nonneg t
  50
  51end JlogNonneg
  52end Verification
  53end IndisputableMonolith
  54

source mirrored from github.com/jonwashburn/shape-of-logic