| 0 ≤ dec_j.scale ∧ 0 ≤ dec_i.scale ∧ dec_i.int % 10 ≠ 0 ∧ dec_j.int % 10 ≠ 0 ∧ (dec_i.int + dec_j.int) % 10 ≠ 0, min(dec_j.scale, dec_i.scale) ≤ abs(dec_i.scale + dec_j.scale) ⊦ dec_i.scale = dec_j.scale, abs(dec_i.scale + dec_j.scale) = max(dec_i.scale, dec_j.scale) + min(dec_j.scale, dec_i.scale) |
min(dec_j.scale, dec_i.scale) ≤ dec_i.scale + dec_j.scale, 0 ≤ dec_j.scale, 0 ≤ dec_i.scale ⊦ (dec_i.int + dec_j.int) % 10 = 0, dec_j.int % 10 = 0, dec_i.int % 10 = 0, dec_i.scale = dec_j.scale, dec_i.scale + dec_j.scale = max(dec_i.scale, dec_j.scale) + min(dec_j.scale, dec_i.scale)
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%absle: ⊦ 0 ≤ i → abs(i) = i; from specification int-abs%abs-12: ⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j); from specification int-abs