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

angleAt

definition
show as:
view math explainer →
module
IndisputableMonolith.Measurement.RecognitionAngle.ActionSmallAngle
domain
Measurement
line
38 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Measurement.RecognitionAngle.ActionSmallAngle on GitHub at line 38.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  35
  36/-- Angle at `x` between rays to `y` and `z`, defined via `arccos` of the inner product
  37of unit directions. Returns `0` if either ray is degenerate. Range is in `[0, π]`. -/
  38def angleAt (x y z : R3) : ℝ :=
  39  let u := dir x y
  40  let v := dir x z
  41  if (u = 0) ∨ (v = 0) then 0 else Real.arccos ((⟪u, v⟫_ℝ) / (‖u‖ * ‖v‖))
  42
  43/-! ## Kernel action and budget threshold -/
  44
  45/-- Kernel action as a function of the sensor angle `θ`. Domain of interest is `(0, π/2]`. -/
  46def A_of_theta (θ : ℝ) : ℝ := -Real.log (Real.sin θ)
  47
  48/-- For budget `Amax > 0`, the minimal admissible angle. -/
  49def thetaMin (Amax : ℝ) : ℝ := Real.arcsin (Real.exp (-Amax))
  50
  51/-! ## Core limit and threshold lemmas (via classical results) -/
  52
  53open Filter
  54
  55/-- As θ → 0⁺, the kernel action `A_of_theta θ = -log(sin θ)` diverges to `+∞`. -/
  56theorem action_small_angle_diverges :
  57  Tendsto (fun θ => A_of_theta θ) (nhdsWithin 0 (Set.Ioi 0)) atTop := by
  58  simpa [A_of_theta] using
  59    IndisputableMonolith.Cost.ClassicalResults.neg_log_sin_tendsto_atTop_at_zero_right
  60
  61/-- Budget inequality implies the minimal angle threshold. -/
  62theorem theta_min_spec {Amax θ : ℝ}
  63    (hA : 0 < Amax) (hθ0 : 0 < θ) (hθh : θ ≤ π/2)
  64    (hAineq : A_of_theta θ ≤ Amax) :
  65    θ ≥ thetaMin Amax := by
  66  simpa [A_of_theta, thetaMin] using
  67    IndisputableMonolith.Cost.ClassicalResults.theta_min_spec_inequality Amax θ hA hθ0 hθh hAineq
  68