| j * j = i * j0 * j0, i < 0, j ≠ 0 ∨ j0 ≠ 0 ⊦ i = 0, ∃ i0. i = i0 * i0 |
j * j = i * j0 * j0, i < 0, j ≠ 0 ∨ j0 ≠ 0 ⊦ j = 0, i = 0, ∃ i0. i = i0 * i0
Used simplifier rules: associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-neq: ⊦ i < 0 → (i * j = 0 ↔ j = 0); from specification int-mult%square-zero: ⊦ i * i = 0 ↔ i = 0; from specification int-mult Used formulas: j = 0