| abs(i) = abs(i0), 0 < i, i0 < 0 ⊦ i0 = 0, abs(abs(i0)) = gcd(abs(i0), abs(i0)) |
⊦ 0 < j → gcd(j, j) = j
Used simplifier rules: gcd-neg: ⊦ gcd(~ i, j) = gcd(i, j);%gcd-same: ⊦ i ≠ 0 → gcd(i, i) = abs(i);%gcd-com: ⊦ gcd(i, j) = gcd(j, i);%abs-16: ⊦ 0 < j → abs(j) = j; from specification int-abs%abs-08: ⊦ i < 0 → abs(i) = ~ i; from specification int-abs%negeq: ⊦ ~ i = j ↔ i + j = 0; from specification int-abs%abs-neg: ⊦ abs(~ i) = abs(i); from specification int-abs%neg-12: ⊦ ~ i = ~ j ↔ i = j; from specification int-abs Used terms: abs(i0)