Reference · Signed rationals
rainbow.math.rational.signed.multiply-positive
signed/multiply-positive : 0 < a -> 0 < b -> 0 < a*b. From 0<a extract 0<=a and not(0~a) (less-than is the reducible conjunction of the two); a*b is nonnegative (multiply-nonnegative) and nonzero (multiply-nonzero applied to the distinctness facts), so less-than-intro gives 0 < a*b. The strict-positivity payoff of the general no-zero-divisors chain -- feeds the strict-convexity capstone (0 < w0*w1*(x-y)^2).
signed/multiply-positive
signed/multiply-positive : (a b : ℚ) (ha : 0 < a) (hb : 0 < b) → 0 < a · b
0 = signed/zero< = signed/less-than· = signed/multiplyℚ = signed/SignedRational