| j * j = i * j0 * j0, i < 0 ⊦ j0 = 0, j = 0, i = 0, ∃ i0. i = i0 * i0 |
Used simplifier rules: lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%square-lez-01: ⊦ i * i ≤ 0 ↔ i = 0; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%lf-01: ⊦ i < j ∧ j < i0 → i +1 < i0; (forward) from specification int-basic1%trans: ⊦ i < j ∧ j < j0 → i < j0; (forward) from specification int-basic1%lf-02: ⊦ i < j ∧ j = i0 → i < i0; (forward) from specification int-basic1%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%succ-01: ⊦ i +1 = i + 1; from specification int-basic2%zero-gr-01: ⊦ i < 0 → (0 < i * j ↔ j < 0); from specification int-mult%square-lez: ⊦ ¬ i * i < 0; from specification int-mult Used formulas: 0 < j * j