| 0 ≤ i, 0 ≤ j, j ≤ i ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≤ i, 0 ≤ j, 0 ≤ i ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
| j ≤ i, 0 ≤ j, 0 ≤ i ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≤ i, 0 ≤ j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: <; (wellfounded) Used terms: i→n(i)
| j ≤ i, 0 ≤ j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≤ i, 0 ≤ j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs
| j ≤ i, 0 ≤ j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j = 0, 0 ≤ i, 0 ≤ j, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
j ≠ 0, 0 ≤ i, 0 ≤ j, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used formulas: j = 0
| j = 0, 0 ≤ i, 0 ≤ j, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0. i = i * i0
Used simplifier rules: gcd-zero-04: ⊦ gcd(i, 0) = abs(i); add-c: ⊦ i + j = j + i; from specification int-basic2 add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2 ⊦ i + 0 = i; (s) commutativity: ⊦ i * j = j * i; from specification int-mult associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult ⊦ i * 0 = 0; (s) ⊦ 0 ≤ i → abs(i) = i; (s) ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; (s)
| 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0. i = i * i0 |
Used simplifier rules: ⊦ 1 * i = i; (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: 1
| j ≠ 0, 0 ≤ i, 0 ≤ j, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≠ 0, 0 < i, 0 < j, 0 ≤ i, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs ⊦ i ≠ j → (i ≤ j ↔ i < j); (s)
| j ≠ 0, 0 < i, 0 < j, 0 ≤ i, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j))
j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)), ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used terms: j, i
| ⊦ j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)) |
| j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, j ≠ 0 → gcd(i, j) = gcd(abs(j), abs(i) % abs(j)), ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = gcd(j, i % j), j ≠ 0, 0 < i, 0 < j, 0 ≤ i, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: ⊦ 0 < j → abs(j) = j; (s)
| gcd(i, j) = gcd(j, i % j), j ≠ 0, 0 < i, 0 < j, 0 ≤ i, j ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = gcd(j, i % j), i = j, j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used formulas: i = j
| gcd(i, j) = gcd(j, i % j), i = j, j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≠ 0, 0 < j, ∀ i0, j0. i→n(i0) < i→n(j) → j0 ≤ i0 ∧ 0 ≤ j0 ∧ 0 ≤ i0 → (∃ i1, j1. gcd(i0, j0) = i0 * i1 + j0 * j1) ⊦ ∃ i0, j0. j = j * i0 + j * j0
Used simplifier rules: gcd-zero-03: ⊦ i ≠ 0 → gcd(i, 0) = abs(i); gcd-same-01: ⊦ 0 < j → gcd(j, j) = j; ⊦ i ≤ i; (s) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) ⊦ 0 < j → abs(j) = j; (s) i ≠ 0 ⊦ i % i = 0; (s)
| j ≠ 0, 0 < j, ∀ i0, j0. i→n(i0) < i→n(j) → j0 ≤ i0 ∧ 0 ≤ j0 ∧ 0 ≤ i0 → (∃ i1, j1. gcd(i0, j0) = i0 * i1 + j0 * j1) ⊦ ∃ i0, j0. j = j * i0 + j * j0 |
Used simplifier rules: ⊦ i * 0 = 0; (s) ⊦ 1 * i = i; (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i + 0 = i; (s) add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2 add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: 0, 1
| gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, 0 < i, j ≤ i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1 ⊦ i ≠ j → (i ≤ j ↔ i < j); (s)
| gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0, i % j ≤ j ∧ 0 ≤ i % j ∧ 0 ≤ j
gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∃ i1, j0. gcd(j, i % j) = j * i1 + i % j * j0, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used simplifier rules: ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j); (s) ⊦ 0 < j → abs(j) = j; (s) ⊦ i < j ↔ ¬ j ≤ i; (ss) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) ⊦ i < j → ¬ j < i; (s) Used terms: j, i % j
| gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0, i % j ≤ j ∧ 0 ≤ i % j ∧ 0 ≤ j |
gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 1 < i % j, j < i % j, 0 < i, 1 < i, j < i, 0 < j, 0 < i % j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
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 ⊦ i ≤ j ↔ ¬ j < i; (ss) ⊦ i ≠ j → (i ≤ j ↔ i < j); (s) ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j; (s)
| gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 1 < i % j, j < i % j, 0 < i, 1 < i, j < i, 0 < j, 0 < i % j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
⊦ j ≤ i0 ∧ 0 < j → ¬ i0 < i % j
Used simplifier rules: ⊦ i ≤ i; (s) Used terms: j, i, j
| ⊦ j ≤ i0 ∧ 0 < j → ¬ i0 < i % j |
| gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∃ i1, j0. gcd(j, i % j) = j * i1 + i % j * j0, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = j * i1 + i % j * j0, gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
| gcd(i, j) = j * i1 + i % j * j0, gcd(i, j) = gcd(j, i % j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j ≠ 0 ⊦ i % j = i - i / j * j
gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = j * i1 + (i - i / j * j) * j0, i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used terms: j, i
| j ≠ 0 ⊦ i % j = i - i / j * j |
| gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = j * i1 + (i - i / j * j) * j0, i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = j * i1 + (i - i / j * j) * j0, gcd(i, j) = gcd(j, i - i / j * j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
| gcd(i, j) = j * i1 + (i - i / j * j) * j0, gcd(i, j) = gcd(j, i - i / j * j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
⊦ (i - j) * j0 = i * j0 - j * j0
gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used terms: j0, i / j * j, i
| ⊦ (i - j) * j0 = i * j0 - j * j0 |
| gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
j * i1 + (i * j0 - (i / j * j) * j0) = i * j0 + j * (i1 - i / j * j0), gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), gcd(i, j) = gcd(j, i - i / j * j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), gcd(i, j) = gcd(j, i - i / j * j), j * i1 + (i * j0 - (i / j * j) * j0) ≠ i * j0 + j * (i1 - i / j * j0), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
Used formulas: j * i1 + (i * j0 - (i / j * j) * j0) = i * j0 + j * (i1 - i / j * j0)
| j * i1 + (i * j0 - (i / j * j) * j0) = i * j0 + j * (i1 - i / j * j0), gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), gcd(i, j) = gcd(j, i - i / j * j), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = i * j0 + j * (i1 - i / j * j0), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0
| gcd(i, j) = gcd(j, i - i / j * j), gcd(i, j) = i * j0 + j * (i1 - i / j * j0), i ≠ j, j ≠ 0, 0 < i, 1 < i, j < i, 0 < j, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
Used terms: j0, i1 - i / j * j0
| gcd(i, j) = j * i1 + (i * j0 - (i / j * j) * j0), gcd(i, j) = gcd(j, i - i / j * j), j * i1 + (i * j0 - (i / j * j) * j0) ≠ i * j0 + j * (i1 - i / j * j0), i ≠ j, j ≠ 0, 0 < j, j < i, 1 < i, 0 < i, 0 ≤ i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 ≤ j ∧ 0 ≤ i0 → (∃ i1, j0. gcd(i0, j) = i0 * i1 + j * j0) ⊦ ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 |
⊦ (i - j) * j0 = i * j0 - j * j0
Used simplifier rules: ⊦ i + (j - i0) = i + j - i0; (s) ⊦ i - j = i0 ↔ i = i0 + j; (s) associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult commutativity: ⊦ i * j = j * i; from specification int-mult ⊦ i + (j - i) = j; (s) ⊦ i + j = i + i0 ↔ j = i0; (s) add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2 add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: j, i / j * j0, i1
| ⊦ (i - j) * j0 = i * j0 - j * j0 |
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.