| ⊦ 0 < i1 ∧ 0 < i ∧ 0 ≤ j → gcd(i * i1, j * i1) = gcd(i, j) * i1 |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j ⊦
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j ⊦
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: <; (wellfounded) Used terms: i→n(j * i1 + i * i1)
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, i < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j, ¬ i < j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used formulas: i < j
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, i < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ gcd(i, j) = gcd(j, i)
gcd(j * i1, i * i1) ≠ gcd(i, j) * i1, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used terms: j * i1, i * i1
| ⊦ gcd(i, j) = gcd(j, i) |
| gcd(j * i1, i * i1) ≠ gcd(i, j) * i1, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j))
i * i1 ≠ 0, gcd(abs(i * i1), abs(j * i1) % abs(i * i1)) ≠ gcd(i, j) * i1, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: gcd-zero: ⊦ gcd(0, 0) = 0; ⊦ 0 < i → (i * j = 0 ↔ j = 0); (s) ⊦ i * 0 = 0; (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: i * i1, j * i1
| ⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)) |
| i * i1 ≠ 0, gcd(abs(i * i1), abs(j * i1) % abs(i * i1)) ≠ gcd(i, j) * i1, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j % i * i1) ≠ gcd(i, j) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult 0 ≠ j, i0 ≠ 0 ⊦ (i0 * i) % (i0 * j) = i % j * i0; (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ i * j = 0 ↔ i = 0 ∨ j = 0; (ws)
| gcd(i * i1, j % i * i1) ≠ gcd(i, j) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ gcd(i, j) = gcd(j, i)
gcd(i * i1, j % i * i1) ≠ gcd(j, i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used terms: j, i
| ⊦ gcd(i, j) = gcd(j, i) |
| gcd(i * i1, j % i * i1) ≠ gcd(j, i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j))
gcd(i * i1, j % i * i1) ≠ gcd(abs(i), abs(j) % abs(i)) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used terms: i, j
| ⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)) |
| gcd(i * i1, j % i * i1) ≠ gcd(abs(i), abs(j) % abs(i)) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j → abs(j) = j; (s)
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ¬ i→n(j % i * i1 + i * i1) < i→n(j * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) Used terms: j % i, i1, i
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, 0 ≤ j, ¬ i→n(j % i * i1 + i * i1) < i→n(j * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, abs(j * i1 + i * i1) ≤ abs(j % i * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ i < j ↔ ¬ j ≤ i; (ss) ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j); (s)
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, 0 < i1, i < j, 0 < j, 0 ≤ j, abs(j * i1 + i * i1) ≤ abs(j % i * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j)
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, abs(j * i1) + abs(i * i1) ≤ abs(j % i * i1 + i * i1), 0 ≤ j, 0 ≤ j * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i ≤ j ↔ ¬ j < i; (ss) ⊦ i < j → ¬ j < i; (s) Used terms: i * i1, j * i1
| ⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j) |
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < j, i < j, 0 < i1, 0 < i, 1 < j, abs(j * i1) + abs(i * i1) ≤ abs(j % i * i1 + i * i1), 0 ≤ j, 0 ≤ j * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, i < j, 0 < j, 0 < i1, 0 ≤ j, j * i1 + i * i1 ≤ abs(j % i * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult ⊦ 0 < j → abs(j) = j; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s)
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < j, 0 < i, i < j, 0 < j, 0 < i1, 0 ≤ j, j * i1 + i * i1 ≤ abs(j % i * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j)
gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < i1, 0 < j, i < j, 0 < i, 1 < j, j * i1 + i * i1 ≤ abs(j % i * i1) + abs(i * i1), 0 ≤ j, 0 ≤ j % i * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i ≤ j ↔ ¬ j < i; (ss) ⊦ i < j → ¬ j < i; (s) Used terms: i * i1, j % i * i1
| ⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j) |
| gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 0 < i1, 0 < j, i < j, 0 < i, 1 < j, j * i1 + i * i1 ≤ abs(j % i * i1) + abs(i * i1), 0 ≤ j, 0 ≤ j % i * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
j % i ≠ 0, gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < abs(j % i), 1 < j, 0 < i, i < j, 0 < j, 0 < i1, i < abs(j % i), 0 ≤ j, j ≤ abs(j % i), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < abs(i) ↔ i ≠ 0; (s) forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1 ⊦ 0 ≤ abs(i); (s) forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs add-c: ⊦ i + j = j + i; from specification int-basic2 add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2 commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult ⊦ 0 < i → (i * j ≤ i * i0 ↔ j ≤ i0); (s) ⊦ i + j ≤ i0 + j ↔ i ≤ i0; (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s)
| j % i ≠ 0, gcd(i * i1, j % i * i1) ≠ gcd(i, j % i) * i1, i ≠ 0, i1 ≠ 0, 1 < abs(j % i), 1 < j, 0 < i, i < j, 0 < j, 0 < i1, i < abs(j % i), 0 ≤ j, j ≤ abs(j % i), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ ¬ j < 0 → abs(j) = j
Used simplifier rules: ⊦ ¬ i < j → (i = j ↔ ¬ j < i); (ss) ⊦ 0 < i ∧ 0 ≤ j → (j ≤ j % i ↔ j < i); (s) ⊦ i < j → ¬ j < i; (s) ⊦ 0 < j ∧ 0 ≤ i → ¬ i % j < 0; (s) Used terms: j % i
| ⊦ ¬ j < 0 → abs(j) = j |
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ j, ¬ i < j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs ⊦ i < j ↔ ¬ j ≤ i; (ss)
| gcd(i * i1, j * i1) ≠ gcd(i, j) * i1, 0 < i1, 0 < i, 0 ≤ j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j))
j * i1 ≠ 0, gcd(abs(j * i1), abs(i * i1) % abs(j * i1)) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: gcd-zero-04: ⊦ gcd(i, 0) = abs(i); ⊦ 0 < i → (i * j = 0 ↔ j = 0); (s) ⊦ i * 0 = 0; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ 0 < i → (i * j = i * j0 ↔ j = j0); (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: j * i1, i * i1
| ⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)) |
| j * i1 ≠ 0, gcd(abs(j * i1), abs(i * i1) % abs(j * i1)) ≠ gcd(i, j) * i1, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, 0 ≤ j, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(j * i1, i % j * i1) ≠ gcd(i, j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult 0 ≠ j, i0 ≠ 0 ⊦ (i0 * i) % (i0 * j) = i % j * i0; (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ 0 ≤ i → abs(i) = i; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ i * j = 0 ↔ i = 0 ∨ j = 0; (ws)
| gcd(j * i1, i % j * i1) ≠ gcd(i, j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j))
gcd(j * i1, i % j * i1) ≠ gcd(abs(j), abs(i) % abs(j)) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used terms: j, i
| ⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)) |
| gcd(j * i1, i % j * i1) ≠ gcd(abs(j), abs(i) % abs(j)) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j → abs(j) = j; (s)
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, ¬ i→n(i % j * i1 + j * i1) < i→n(j * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) Used terms: i % j, i1, j
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, 0 ≤ i, j ≤ i, ¬ i→n(i % j * i1 + j * i1) < i→n(j * i1 + i * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, abs(j * i1 + i * i1) ≤ abs(i % j * i1 + j * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ i < j ↔ ¬ j ≤ i; (ss) ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j); (s)
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < i, 0 < j, j ≤ i, 0 ≤ i, abs(j * i1 + i * i1) ≤ abs(i % j * i1 + j * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j)
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, abs(j * i1) + abs(i * i1) ≤ abs(i % j * i1 + j * i1), 0 ≤ i, j ≤ i, 0 ≤ j * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i ≤ j ↔ ¬ j < i; (ss) ⊦ i < j → ¬ j < i; (s) Used terms: i * i1, j * i1
| ⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j) |
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < j, 0 < i, 0 < i1, abs(j * i1) + abs(i * i1) ≤ abs(i % j * i1 + j * i1), 0 ≤ i, j ≤ i, 0 ≤ j * i1, 0 ≤ i * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i, 0 < j, 0 < i1, j ≤ i, 0 ≤ i, j * i1 + i * i1 ≤ abs(i % j * i1 + j * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult ⊦ 0 < j → abs(j) = j; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s)
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i, 0 < j, 0 < i1, j ≤ i, 0 ≤ i, j * i1 + i * i1 ≤ abs(i % j * i1 + j * i1), ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j)
gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < j, 0 < i, j * i1 + i * i1 ≤ abs(i % j * i1) + abs(j * i1), 0 ≤ i, j ≤ i, 0 ≤ i % j * i1, 0 ≤ j * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i ≤ j ↔ ¬ j < i; (ss) ⊦ i < j → ¬ j < i; (s) Used terms: j * i1, i % j * i1
| ⊦ 0 ≤ i ∧ 0 ≤ j → abs(i + j) = abs(i) + abs(j) |
| gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < j, 0 < i, j * i1 + i * i1 ≤ abs(i % j * i1) + abs(j * i1), 0 ≤ i, j ≤ i, 0 ≤ i % j * i1, 0 ≤ j * i1, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
i % j ≠ 0, gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < j, 0 < i, j ≤ abs(i % j), i ≤ abs(i % j), 0 ≤ i, j ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦
Used simplifier rules: ⊦ 0 ≤ abs(i); (s) ⊦ 0 < abs(i) ↔ i ≠ 0; (s) forward-lele: ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1; (forward) from specification int-abs forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs add-c: ⊦ i + j = j + i; from specification int-basic2 add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2 commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult ⊦ 0 < i → (i * j ≤ i * i0 ↔ j ≤ i0); (s) ⊦ i + j ≤ i0 + j ↔ i ≤ i0; (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ abs(i * j) = abs(i) * abs(j); (s) ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s) ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j); (s) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s)
| i % j ≠ 0, gcd(j * i1, i % j * i1) ≠ gcd(j, i % j) * i1, i1 ≠ 0, j ≠ 0, 0 < i1, 0 < j, 0 < i, j ≤ abs(i % j), i ≤ abs(i % j), 0 ≤ i, j ≤ i, ∀ j0, i0, i2. i→n(j0 * i0 + i2 * i0) < i→n(j * i1 + i * i1) → gcd(i2 * i0, j0 * i0) ≠ gcd(i2, j0) * i0 ∧ 0 < i2 ∧ 0 < i0 ∧ 0 ≤ j0 → false ⊦ |
⊦ ¬ j < 0 → abs(j) = j
Used simplifier rules: ⊦ ¬ i < j → (i = j ↔ ¬ j < i); (ss) ⊦ 0 < j → ¬ j ≤ i % j; (s) ⊦ 0 < j ∧ 0 ≤ i → ¬ i % j < 0; (s) Used terms: i % j
| ⊦ ¬ j < 0 → abs(j) = j |
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.