Reference · Signed rationals
rainbow.math.rational.signed.square-numerator-positive-of-absolute
B6f prerequisite (s-n positivity transfer): a lower bound on |x| makes x*x have positive magnitude-numerator. signed/square-numerator-positive-of-absolute-bound : 0 <= b -> 1 <= num(mag(b*b)) -> b <= |x| -> 1 <= num(mag(x*x)) B6d (square-numerator-positive-of-lower-bound) on b <= |x| gives 1 <= num(mag(|x|*|x|)); then transfer |x|*|x| ~ x*x (absolute-multiply + x*x nonnegative) via magnitude-monotone + positive-of-at-most. In the limit-reciprocal assembly this is called with b = |L|/2 and the bound |L|/2 <= |s n| to obtain 1 <= num(mag(s n * s n)) -- the nonzero fact reciprocal-difference / absolute-reciprocal-times-self / reciprocal-antitone need for s n. Axiom-free; additive; does not touch the LP checker.
signed/square-numerator-positive-of-absolute-bound
signed/square-numerator-positive-of-absolute-bound : (b x : ℚ) (hb0 : 0 ≤ b) (hbpos : 1 ≤ nnrat/numerator (signed/magnitude (b · b))) (hbx : b ≤ signed/absolute x) → 1 ≤ nnrat/numerator (signed/magnitude (x · x))
0 = signed/zero· = signed/multiplyℚ = signed/SignedRational≤ = nat/at-most