Reference · Signed rationals
rainbow.math.rational.signed.absolute-multiply
Brick 3 of limit-product: |a * b| ~ |a| * |b| over signed rationals. signed/absolute-multiply : seqv (|a*b|) (|a|*|b|), by a four-way sign case-split (nested Bool.rec on decide-at-most 0 a and 0 b). In each quadrant the sign of a*b is fixed by the multiply-sign lemmas (multiply-nonnegative / -nonnegative-nonpositive / -nonpositive), |a*b| collapses via absolute-of-nonnegative/-nonpositive, and |a|*|b| is rewritten to the same normal form using absolute-of-sign + multiply-negate. Axiom-free; additive; does not touch the LP checker.
signed/absolute-multiply
signed/absolute-multiply : (a b : ℚ) → signed/absolute (a · b) = signed/absolute a · signed/absolute b
= = signed/equivalent: equality of rational values· = signed/multiplyℚ = signed/SignedRational