| i * i0 = j * i1 + 1, gcd(i, j) = 1, i1 < 0, 1 < i, 0 < i, 1 < j, 0 < j, j * i1 < 0, 0 ≤ i0 ⊦ (i * i0) % j = 1 |
i * i0 = j * i1 + 1, gcd(i, j) = 1, j * i1 < 0, 0 < j, 1 < j, 0 < i, 1 < i, i1 < 0, 0 ≤ i0, j * i1 + 1 ≤ 0 ⊦ (i * i0) % j = 1
Used simplifier rules: ⊦ 0 < i → (i * j < 0 ↔ j < 0); (s)% ⊦ i < 0 ∧ 0 ≤ j → i < j; (s)%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult% ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j; (s)% ⊦ i ≤ ~1 ↔ i < 0; (s)%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used formulas: j * i1 + 1 ≤ 0