| mkDecimal(i, i0) * mkDecimal(i1, i2) < mkDecimal(i, i0), mkDecimal(i, i0) * mkDecimal(i1, i2) < mkDecimal(0, 0), mkDecimal(i, i0) * mkDecimal(i1, i2) < mkDecimal(i1, i2), 0 ≤ i, 0 ≤ i1 ⊦ |
⊦ mkDecimal(i, j) * mkDecimal(i0, j0) = mkDecimal(i * i0, abs(j) + abs(j0))
Used simplifier rules: ls-zero-01: ⊦ mkDecimal(i, i0) < mkDecimal(0, 0) ↔ i < 0;%zero-ls-02: ⊦ 0 ≤ i → (i * j < 0 ↔ ¬ ¬(j < 0 ∧ i ≠ 0)); from specification int-mult%lenls: ⊦ i ≤ j → ¬ j < i; from specification int-abs%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: i2, i1, i0, i