floatAbs
floatAbs supplies an inline wrapper around Float.abs for absolute differences in floating-point arithmetic. It is invoked inside approximate-equality checks when verifying that K-gate ratios remain dimensionless under admissible rescalings of RS units packs. The definition is a direct one-line alias to the standard library operation. Engineers auditing the time-first versus length-first display identities cite this helper when constructing tolerance-based certificates.
claimThe absolute-value helper on floating-point numbers is defined by $floatAbs(x) := |x|$.
background
The UnitsKGate module evaluates K-gate identities on canonical RS units packs, comparing time-first and length-first displays and confirming that the resulting quotient is dimensionless and invariant under rescaling. The upstream structure for from UniversalForcingSelfReference records the structural properties required for meta-realization of orbit and step coherence axioms. floatAbs is introduced as a lightweight helper to support floating-point comparisons inside these invariance checks.
proof idea
one-line wrapper that applies Float.abs
why it matters in Recognition Science
The definition feeds directly into approxEq, which performs the tolerance test for dimensionless invariance in the K-gate audit certificate. It therefore supports the overall claim that RS units packs satisfy the required quotient properties derived from the forcing chain. No open questions are closed by this helper itself.
scope and limits
- Does not handle NaN or infinity inputs.
- Does not supply tolerance; tolerance is provided by the caller.
- Does not perform symbolic or exact arithmetic; operates only on concrete Float values.
Lean usage
floatAbs (a - b) ≤ tol
formal statement (Lean)
17@[inline] def floatAbs (x : Float) : Float := Float.abs x
proof body
Definition body.
18
19/-- Approximate equality for floats with configurable tolerance. -/