| maxScale(dec_i.int * 10 ^ dec_j.scale + dec_j.int * 10 ^ 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) + maxScale(dec_i.int * 10 ^ dec_j.scale + dec_j.int * 10 ^ dec_i.scale) |
⊦ 0 ≤ j ∧ 0 ≤ j0 ∧ i % 10 ≠ 0 ∧ i0 % 10 ≠ 0 ∧ (i + i0) % 10 ≠ 0 → maxScale(i * 10 ^ j + i0 * 10 ^ j0) = min(j, j0)
¬(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), maxScale(dec_i.int * 10 ^ dec_j.scale + dec_j.int * 10 ^ 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) + maxScale(dec_i.int * 10 ^ dec_j.scale + dec_j.int * 10 ^ dec_i.scale)
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)
Used terms: dec_i.scale, dec_j.int, dec_j.scale, dec_i.int