Reference · Non-negative rationals
rainbow.math.rational.nnrat.shared-residual-mass
Canonical common/residual decomposition, computed without choice. c=min(a,b), p=distance(c,a), q=distance(c,b). Then c+p~a, c+q~b, at least one residual is zero, and distance(a,b)~p+q.
nnrat/left-residual-mass
nnrat/left-residual-mass : (a b : ℚ≥0) → ℚ≥0
ℚ≥0 = nnrat/NonnegativeRational
nnrat/right-residual-mass
nnrat/right-residual-mass : (a b : ℚ≥0) → ℚ≥0
ℚ≥0 = nnrat/NonnegativeRational
nnrat/residual-masses-disjoint
nnrat/residual-masses-disjoint : (a b : ℚ≥0) → proposition/disjunction (nnrat/distance (minmax/min a b) a = 0) (nnrat/distance (minmax/min a b) b = 0)
0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational
nnrat/residual-masses-preserve-distance
nnrat/residual-masses-preserve-distance : (a b : ℚ≥0) → nnrat/distance (nnrat/left-residual-mass a b) (nnrat/right-residual-mass a b) = nnrat/distance a b
= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational
nnrat/distance-is-residual-mass-sum
nnrat/distance-is-residual-mass-sum : (a b : ℚ≥0) → nnrat/distance a b = nnrat/distance (minmax/min a b) a + nnrat/distance (minmax/min a b) b
+ = nnrat/add= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational